قوانین @media CSS
- صفحه قبل حداکثر عرض
- صفحه بعدی حداقل اندازه بلوک
تعریف و استفاده
قوانین @media در جستجوی رسانه برای اعمال استایلهای مختلف برای نوعهای رسانه/دستگاه استفاده میشود.
جستجوی رسانه میتواند برای بررسی بسیاری از چیزها استفاده شود، مانند:
- عرض و ارتفاع视گاه
- عرض و ارتفاع دستگاه
- جهت (آیا تلفن یا تبلت در حالت افقی یا عمودی قرار دارد؟)
- رزولوشن
استفاده از جستجوی رسانه یک تکنیک محبوب برای ارائه استایلهای سفارشی برای رایانههای رومیزی، لپتاپها، تبلتها و تلفنهای موبایل (طراحی وبهای پاسخگو) است.
شما همچنین میتوانید از جستجوی رسانه برای تعیین استایلهایی که فقط برای مدارک چاپی یا خوانندههای صفحه نمایش مناسب هستند (mediatype: print، screen یا speech) استفاده کنید.
In addition to media types, there are also media features. Media features provide more specific details for media queries by allowing testing of specific characteristics of user agents or display devices. For example, you can apply styles only to screens wider or narrower than a specific width.
See also:
CSS Tutorial:پرسش و پاسخ CSS
CSS Tutorial:CSS Media Query Example
RWD Tutorial:Implementing responsive web design through media queries
JavaScript Reference Manual:window.matchMedia() method
Instance
Example 1
If the width of the browser window is 600px or less, change the background color of the <body> element to 'light blue':
@media only screen and (max-width: 600px) { body { background-color: lightblue; } }
More TIY examples can be found at the bottom of the page.
CSS Syntax
@media not|only mediatype and (mediafeature and|or|not mediafeature) { CSS-Code; }
Meaning of not, only, and and keywords:
not: The not keyword reverses the meaning of the entire media query.
only: The only keyword prevents the specified styles from being applied by older browsers that do not support media queries with media features. It has no effect on modern browsers.
and: The and keyword combines media features with media types or other media features.
They are all optional. However, if not or only is used, the media type must also be specified.
You can also use different style sheets for different media, like this:
<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css"> <link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css"> ....
Media type
Value | Description |
---|---|
all | Default. Used for all media type devices. |
Used for printers. | |
screen | Used for computer screens, tablets, smartphones, and more. |
speech | Screen reader used to read the page. |
Media features
Value | Description |
---|---|
any-hover |
Is there any available input mechanism that allows the user (such as a mouse) to hover over elements? در سطح جستجوی رسانه 4 اضافه شده است. |
any-pointer |
Is there any pointer device available among the input mechanisms, and if so, how accurate is it? در سطح جستجوی رسانه 4 اضافه شده است. |
ratio of aspect | نسبت عرض به ارتفاع视اندام (viewport). |
color |
ارزش بیت هر پیکسل در دستگاه خروجی، معمولاً 8، 16، 32 بیت. اگر دستگاه از نمایش رنگ پشتیبانی نمیکند، این مقدار 0 است. |
color-gamut |
دامنه رنگی که کاربرندها و دستگاههای خروجی تقریباً از آن پشتیبانی میکنند. در سطح جستجوی رسانه 4 اضافه شده است. |
color-index |
تعداد ورودیهای جدول جستجوی رنگ (color lookup table) دستگاه. اگر دستگاه از جدول جستجوی رنگ (color lookup table) استفاده نمیکند، این مقدار 0 است. |
device-aspect-ratio |
نسبت عرض به ارتفاع دستگاه. در Media Queries Level 4 از کار افتاده است. |
device-height |
ارتفاع سطح رندر دستگاه (مانند صفحه نمایش). در Media Queries Level 4 از کار افتاده است. |
device-width |
عرض سطح رندر دستگاه (مانند صفحه نمایش). در Media Queries Level 4 از کار افتاده است. |
display-mode |
شیوه نمایش برنامه، مانند عضو display در manifest web app مشخص شده است. در spec Web App Manifest تعریف شده است. |
forced-colors |
آیا کاربرندها پالت رنگها را محدود میکنند؟ در سطح جستجوی رسانه 5 اضافه شده است. |
grid | آیا دستگاه از صفحههای شبکهای یا صفحههای داتماتری استفاده میکند؟ |
height | ارتفاع视اندام (viewport). |
hover |
آیا مکانیزم ورودی اصلی اجازه میدهد تا کاربر موس را روی عنصر قرار دهد؟ در سطح جستجوی رسانه 4 اضافه شده است. |
inverted-colors |
آیا مرورگر یا سیستمعامل پایه رنگها را معکوس کردهاند؟ در سطح جستجوی رسانه 5 اضافه شده است. |
light-level |
سطح نور محیط فعلی. در سطح جستجوی رسانه 5 اضافه شده است. |
max-aspect-ratio | حداکثر نسبت عرض به ارتفاع ناحیه نمایشی. |
max-color | حداکثر تعداد دودویی هر رنگcomponent در دستگاههای خروجی. |
max-color-index | تعداد بیشترین رنگهایی که دستگاه میتواند نمایش دهد. |
max-height | ارتفاع بیشترین ناحیه نمایشی، به عنوان مثال پنجره مرورگر. |
max-monochrome | حداکثر تعداد دودویی هر |
max-resolution | حداکثر رزولوشن دستگاه، استفاده از dpi یا dpcm. |
حداکثر عرض | عرض بیشترین ناحیه نمایشی، به عنوان مثال پنجره مرورگر. |
min-aspect-ratio | حداقل نسبت عرض به ارتفاع ناحیه نمایشی. |
min-color | حداقل تعداد دودویی هر رنگcomponent در دستگاههای خروجی. |
min-color-index | تعداد کمترین رنگهایی که دستگاه میتواند نمایش دهد. |
min-height | ارتفاع کمترین ناحیه نمایشی، به عنوان مثال پنجره مرورگر. |
min-monochrome | در دستگاههای یکرنگ (سفید و سیاه) حداقل تعداد دودویی هر |
min-resolution | رزولوشن کمینه دستگاه، از dpi یا dpcm استفاده میشود. |
min-width | عرض کمینه ناحیه نمایش، مانند پنجره مرورگر. |
monochrome |
بیترزولوشن هر پیکسل در فریم缓冲ر تکرنگ دستگاههای خروجی. اگر دستگاههای خروجی دارای صفحه سیاه و سفید نیستند، این مقدار 0 است. |
orientation | جهت چرخش视وگشتی (portrait یا landscape mode). |
overflow-block |
طریقهای که دستگاههای خروجی محتوایی که از محور مستطیل جاری میشود، را پردازش میکنند. در سطح جستجوی رسانه 4 اضافه شده است. |
overflow-inline |
آیا محتوایی که از محور مستقیم جاری میشود، قابل اسکرول از طریق视وگشتی (viewport) است؟ در سطح جستجوی رسانه 4 اضافه شده است. |
pointer |
آیا مکانیزم ورودی اصلی یک دستگاه اشارهگر است؟ اگر بله، دقت آن چگونه است؟ در سطح جستجوی رسانه 4 اضافه شده است. |
prefers-color-scheme |
بررسی میکند که کاربر تمایل به انتخاب گزینههای رنگی روشن یا تاریک دارد. در سطح جستجوی رسانه 5 اضافه شده است. |
prefers-contrast |
بررسی میکند که آیا کاربر به سیستم درخواست کرده است که دقت بین رنگهای مشابه را افزایش یا کاهش دهد. در سطح جستجوی رسانه 5 اضافه شده است. |
prefers-reduced-motion |
آیا کاربر میخواهد تأثیرات دینامیک کمتری روی صفحه ظاهر شود؟ در سطح جستجوی رسانه 5 اضافه شده است. |
prefers-reduced-transparency |
آیا کاربر تمایل به انتخاب شفافیت کمتر دارد؟ در سطح جستجوی رسانه 5 اضافه شده است. |
resolution | رزولوشن دستگاههای خروجی، از dpi یا dpcm استفاده میشود. |
scan | روند اسکن دستگاههای خروجی (مناسب برای تلویزیونها و غیره). |
scripting |
بررسی میکند که اسکریپتها (مثلاً JavaScript) قابل استفاده هستند یا خیر. در سطح جستجوی رسانه 5 اضافه شده است. |
update |
تغییرات محتوای رندر شده توسط دستگاههای خروجی بهروزرسانی میشود. در سطح جستجوی رسانه 4 اضافه شده است. |
width | عرض视وگشتی (viewport). |
مثالهای بیشتر
مثال 2
وقتی عرض مرورگر 600px یا کمتر باشد، عناصر را مخفی کنید:
@media screen and (max-width: 600px) { div.example { display: none; } }
مثال 3
اگر عرض视وگشتی 800 پیکسل یا بیشتر باشد، از جستجوی رسانه برای تنظیم رنگ پسزمینه به زردی ملایم استفاده کنید؛ اگر عرض视وگشتی بین 400 تا 799 پیکسل باشد، از جستجوی رسانه برای تنظیم رنگ پسزمینه به سبز روشن استفاده کنید. اگر عرض视وگشتی کمتر از 400 پیکسل باشد، رنگ پسزمینه به آبی روشن خواهد بود:
body { background-color: lightblue; } @media screen and (min-width: 400px) { body { background-color: lightgreen; } } @media screen and (min-width: 800px) { body { background-color: lavender; } }
مثال 4
یک منوی هدایتکننده پاسخگو ایجاد کنید (در صفحههای بزرگ به صورت افقی نمایش داده میشود و در صفحههای کوچک به صورت عمودی نمایش داده میشود):
@media screen and (max-width: 600px) { .topnav a { float: none; width: 100%; } }
مثال 5
با استفاده از جستجوی رسانه، چیدمان ستونهای پاسخگو را ایجاد کنید:
/* در صفحههایی که عرض 992px یا کمتر است، از چهار ستون به دو ستون تبدیل میشود */ @media screen and (max-width: 992px) { .column { width: 50%; } } /* در صفحههایی که عرض کمتر از یا برابر با 600 پیکسل است، ستونها به جای قرار گرفتن در کنار یکدیگر، روی هم قرار میگیرند */ @media screen and (max-width: 600px) { .column { width: 100%; } }
مثال 6
با استفاده از جستجوی رسانه، یک وبسایت پاسخگو ایجاد کنید:
مثال 7
جستجوی رسانه همچنین میتواند برای تغییر چیدمان صفحهبندی بر اساس جهت مرورگر استفاده شود. میتوانید مجموعهای از ویژگیهای CSS بنویسید که تنها در صورتی که عرض پنجره مرورگر بزرگتر از ارتفاع آن باشد (یعنی در حالت افقی) اعمال میشوند.
اگر حالت جهت به حالت افقی باشد، از رنگ پسزمینه سبز روشن استفاده کنید:
@media only screen and (orientation: landscape) { body { background-color: lightblue; } }
مثال 8
با استفاده از جستجوی رسانه، رنگ متن را به سبز در حالت نمایش مستند در صفحه نمایش و به سیاه در حالت چاپ تنظیم کنید:
@media screen { body { color: green; } } @media print { body { color: black; } }
مثال 9
لیست جدا شده با کاما: از کاما برای اضافه کردن یک جستجوی رسانه به جستجوهای رسانه موجود استفاده کنید (رفتار آن مشابه عملگر OR است):
/* وقتی عرض بین 600px و 900px است یا بیشتر از 1100px، ظاهر <div> تغییر میکند */ @media screen and (max-width: 900px) and (min-width: 600px), (min-width: 1100px) { div.example { font-size: 50px; padding: 50px; border: 8px solid black; background: yellow; } }
پشتیبانی مرورگر
اعداد در جدول نشاندهنده نسخه اولیه مرورگرهایی است که کامل از قوانین @media پشتیبانی میکنند.
Chrome | IE / Edge | Firefox | Safari | Opera |
---|---|---|---|---|
21 | 9 | 3.5 | 4.0 | 9 |
- صفحه قبل حداکثر عرض
- صفحه بعدی حداقل اندازه بلوک