پرسشهای رسانهای (Media Queries)
آشنایی کامل با Media Queries برای طراحی واکنشگرا: breakpoints و شرایط مختلف
Media Query چیست؟
Media Query اجازه میدهد CSS را برای شرایط خاص (مثل عرض صفحه) تغییر دهید. این قلب طراحی واکنشگرا است.
ساختار پایه
@media (max-width: 768px) {
body {
font-size: 14px;
}
}
شرایط رایج
| شرط | توضیح |
|---|---|
max-width | حداکثر عرض |
min-width | حداقل عرض |
orientation | جهت (portrait/landscape) |
prefers-color-scheme | تم تاریک/روشن |
prefers-reduced-motion | کاهش انیمیشن |
Breakpoints استاندارد
| نام | عرض | دستگاه |
|---|---|---|
| Mobile | 320-480px | موبایل |
| Tablet | 768px | تبلت |
| Laptop | 1024px | لپتاپ |
| Desktop | 1200px | دسکتاپ |
| TV | 1920px+ | تلویزیون |
روش Mobile-First ⭐
/* موبایل اول — پیشفرض */
body { font-size: 14px; }
/* تبلت به بالا */
@media (min-width: 768px) {
body { font-size: 16px; }
}
/* دسکتاپ به بالا */
@media (min-width: 1024px) {
body { font-size: 18px; }
}
ترکیب شرایط
/* بین 768px و 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
.sidebar { width: 200px; }
}
تم تاریک با Media Query
@media (prefers-color-scheme: dark) {
body {
background: #1a1a2e;
color: #ecf0f1;
}
}
چاپ
@media print {
.no-print { display: none; }
body { color: black; background: white; }
}
بهترین شیوهها
- از رویکرد Mobile-First استفاده کنید
- breakpoints بر اساس محتوا، نه دستگاه
- تعداد breakpoints را کم نگه دارید
emبهجایpxبرای breakpoints- کد تکراری ننویسید — متغیرهای CSS استفاده کنید
نکات مهم
- همیشه
<meta name="viewport">در HTML لازم است min-widthبرای Mobile-First بهتر استprefers-color-schemeبرای تم تاریک خودکارprefers-reduced-motionبرای دسترسپذیری
این مبحث بخشی از دوره آموزش کامل CSS است.