@media
Директива CSS @media
може вживатися для застосування частини списку стилів на основі результату одного чи більше медіазапитів. За її допомогою можна задати медіазапит і блок CSS до застосування тоді та тільки тоді, коли цей медіазапит відповідає пристроєві, на якому використовується вміст.
[!NOTE] У JavaScript правила, створені за допомогою
@media
, можна отримати за допомогою інтерфейсуCSSMediaRule
об'єктної моделі CSS.
Спробуйте його в дії
Синтаксис
Директива @media
повинна стояти на зовнішньому рівні коду або бути вкладена в якусь іншу умовну групову директиву.
/* На зовнішньому рівні коду */
@media screen and (min-width: 900px) {
article {
padding: 1rem 3rem;
}
}
/* Вкладена в іншу умовну директиву */
@supports (display: flex) {
@media screen and (min-width: 900px) {
article {
display: flex;
}
}
}
Більше про синтаксис медіазапитів дивіться в статті Використання медіазапитів.
Опис
Значення <media-query-list>
медіазапиту вміщає значення <media-type>
, значення <media-feature>
та логічні оператори.
Типи медіа
<media-type>
описує загальні категорії пристроїв.
Коли не використовується логічний оператор only
, тип медіа є необов'язковим, – якщо він не вказаний, то вважається, що він дорівнює all
.
all
Підходить для всіх пристроїв.
print
Для сторінкових матеріалів і документів, що переглядаються на екрані в режимі попереднього перегляду перед друком. (Будь ласка, дивіться сторінкові медіа для отримання інформації про проблеми форматування, які специфічні для цих форматів.)
screen
Перш за все для екранів.
[!NOTE] CSS2.1 і Медіазапити 3 визначали декілька додаткових типів медіа (
tty
,tv
,projection
,handheld
,braille
,embossed
іaural
), але вони стали нерекомендованими в Медіазапитах 4 і не повинні використовуватися.
Можливості медіа
<media feature>
описує конкретні характеристики користувацького агента, пристрою виведення чи оточення.
Вирази можливостей медіа перевіряють на їхню присутність, значення або діапазон значень, і є цілковито необов'язковими. Кожен вираз можливості медіа повинен бути оточений дужками.
any-hover
Чи дає який-небудь доступний механізм уведення користувачеві змогу наводити курсор на елементи?
any-pointer
Чи є який-небудь доступний механізм уведення пристроєм-вказівником, і якщо так, то наскільки він точний?
aspect-ratio
Співвідношення ширини до висоти області перегляду.
color
Число біт на колірний компонент пристрою виведення, або нуль, якщо пристрій не кольоровий.
color-gamut
Приблизний діапазон кольорів, що підтримується користувацьким агентом і пристроєм виведення.
color-index
Число записів у таблиці пошуку кольорів пристрою виведення, або нуль, якщо пристрій не використовує таку таблицю.
device-aspect-ratio
Співвідношення ширини до висоти пристрою виведення. Нерекомендований від Медіазапитів рівня 4.
device-height
Висота поверхні візуалізації пристрою виведення. Нерекомендований від Медіазапитів рівня 4.
device-width
Ширина поверхні візуалізації пристрою виведення. Нерекомендований від Медіазапитів рівня 4.
display-mode
Режим, у якому виводиться застосунок: наприклад, повноекранний або режим зображення в зображенні. Додано в Медіазапитах рівня 5.
dynamic-range
Поєднання яскравості, контрастності та глибини кольору, які підтримуються користувацьким агентом і пристроєм виведення. Додано в Медіазапитах рівня 5.
forced-colors
З'ясувати, чи обмежує користувацький агент палітру кольорів. Додано в Медіазапитах рівня 5.
grid
Чи використовує пристрій сітку або бітовий екран?
height
Висота області перегляду.
hover
Чи дає основний механізм уведення користувачеві змогу наводити курсор на елементи?
inverted-colors
Чи обертає користувацький агент або операційна система кольори? Додано в Медіазапитах рівня 5.
monochrome
Кількість біт на піксель у монохромному буфері кадру пристрою виведення, або нуль, якщо пристрій не монохромний.
orientation
Орієнтація області перегляду.
overflow-block
Як пристрій виведення обробляє вміст, що виходить за межі області перегляду вздовж блокової осі?
overflow-inline
Чи можна прокручувати вміст, що не вміщається в область перегляду вздовж рядкової осі?
pointer
Чи є головний механізм введення пристроєм-вказівником, і якщо так, то наскільки точним він є?
prefers-color-scheme
З'ясувати, чи віддає користувач перевагу світлій, чи темній колірній схемі. Додано в Медіазапитах рівня 5.
prefers-contrast
З'ясовує, чи вимагає користувач від системи збільшити або зменшити контрастність між сусідніми кольорами. Додано в Медіазапитах рівня 5.
prefers-reduced-data
З'ясовує, чи запитав користувач вебвміст, що менше навантажує Інтернет-канал.
prefers-reduced-motion
Користувач віддає перевагу меншому рівню руху на сторінці. Додано в Медіазапитах рівня 5.
prefers-reduced-transparency
З'ясовує, чи ввімкнув користувач на своєму пристрої налаштування для зменшення прозорих або напівпрозорих шарових ефектів.
resolution
Піксельна щільність пристрою виведення.
scan
Чи має дисплей прогресивну або черезрядкову розгортку.
scripting
Визначає, чи доступно використання сценаріїв (тобто JavaScript). Додано в Медіазапитах рівня 5.
shape
З'ясовує форму пристрою, щоб розрізнити прямокутні та круглі дисплеї.
update
Як часто пристрій виведення може змінювати вигляд вмісту.
video-dynamic-range
Поєднання яскравості, контрастності та глибини кольору, які підтримує план відео користувацького агента і пристрою виведення. Додано в Медіазапитах рівня 5.
width
Ширина області перегляду, включно з шириною смуги прокрутки.
Логічні оператори
Логічні оператори not
, and
, only
й or
можуть використовуватися для створення складних медіазапитів.
Також можна поєднувати декілька медіазапитів в одне правило, розділяючи їх комами.
and
Використовується для поєднання декількох можливостей медіа в один медіазапит, вимагаючи
true
від кожної з можливостей, щоб запит бувtrue
. Також використовується для поєднання можливостей медіа з типами медіа.not
Використовується для заперечення медіазапиту, повертаючи
true
, якщо інакше запит повернув биfalse
. Якщо цей оператор присутній в розділеному комами списку запитів, то заперечує лише конкретний запит, до якого застосовується.[!NOTE] На рівні 3 ключове слово
not
не може використовуватися для заперечення окремого виразу можливості медіа, а лише цілого медіазапиту.only
Застосовує стиль лише тоді, коли весь запит має відповідність. Це корисно, щоб не дати старим браузерам застосувати вибрані стилі. Коли
only
не використовується, старі браузери тлумачать запитscreen and (max-width: 500px)
якscreen
, ігноруючи решту запиту, і застосовують його стилі на всіх екранах. Якщо використовується операторonly
, обов'язково повинен бути заданий тип медіа.,
(кома)Коми вживаються для поєднання різних медіазапитів у одне правило. Кожен запит у списку, розділеному комами, розглядається окремо від інших. Таким чином, якщо будь-який запит у списку дає
true
, то все твердження медіа даєtrue
. Інакше кажучи, списки поводяться як логічний операторor
.or
Рівносильно операторові
,
. Додано в Медіазапитах рівня 4.\
Клієнтські підказки користувацькому агентові
Частина медіазапитів має відповідні клієнтські підказки користувацькому агентові.
Це заголовки HTTP, що запитують вміст, який наперед оптимізований для конкретних потреб медіа.
Серед них Sec-CH-Prefers-Color-Scheme
і Sec-CH-Prefers-Reduced-Motion
.
Доступність
Щоб якнайкраще врахувати потреби людей, які змінюють розмір тексту на сайті, слід використовувати для ваших медіазапитів одиниці em
, коли потрібні значення <length>
.
Як em
, так і px
є дійсними одиницями, але em
працює краще, якщо користувач змінює розмір тексту в браузері.
Також варто розглянути медіазапити чи клієнтські підказки користувацькому агентові, щоб покращити користувацький досвід.
Наприклад, медіазапит prefers-reduced-motion
або відповідний заголовок Sec-CH-Prefers-Reduced-Motion
) можна використати для мінімізації кількості анімації чи руху, на основі побажань користувача.
Безпека
Оскільки медіазапити надають інформацію про можливості – і, відповідно, про функції та дизайн – пристрою, з яким працює користувач, існує потенціал їхнього зловживання для створення "відбитку", який ідентифікує пристрій, або принаймні категоризує його до певної міри деталізації, що може бути небажаним для користувачів.
У зв'язку з цим потенціалом браузер може вирішити якось викривити повернені значення, щоб запобігти їх використанню для точного ідентифікування комп'ютера. Браузер може також пропонувати додаткові заходи в цій галузі; наприклад, якщо ввімкнено налаштування Firefox "Опиратися відстеженню за відбитком", то чимало медіазапитів віддає усталені значення, а не значення, що представляють реальний стан пристрою.
Формальний синтаксис
@media <media-query-list> { <group-rule-body> }де
<media-query-list> = <media-query>#
де
<media-query> = <media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?
де
<media-condition> = <media-not> | <media-and> | <media-or> | <media-in-parens>
<media-type> = <ident>
<media-condition-without-or> = <media-not> | <media-and> | <media-in-parens>де
<media-not> = not <media-in-parens>
<media-and> = <media-in-parens> [ and <media-in-parens> ]+
<media-or> = <media-in-parens> [ or <media-in-parens> ]+
<media-in-parens> = ( <media-condition> ) | <media-feature> | <general-enclosed>де
<media-feature> = ( [ <mf-plain> | <mf-boolean> | <mf-range> ] )
<general-enclosed> = [ <function-token> <any-value> ) ] | ( <ident> <any-value> )де
<mf-plain> = <mf-name> : <mf-value>
<mf-boolean> = <mf-name>
<mf-range> = <mf-name> [ \'<\' | \'>\' ]? \'=\'? <mf-value> | <mf-value> [ \'<\' | \'>\' ]? \'=\'? <mf-name> | <mf-value> \'<\' \'=\'? <mf-name> \'<\' \'=\'? <mf-value> | <mf-value> \'>\' \'=\'? <mf-name> \'>\' \'=\'? <mf-value>де
<mf-name> = <ident>
<mf-value> = <number> | <dimension> | <ident> | <ratio>де
<ratio> = <number [0,∞]> [ / <number [0,∞]> ]?
Приклади
Перевірка на типи медіа – друк і екран
@media print {
body {
font-size: 10pt;
}
}
@media screen {
body {
font-size: 13px;
}
}
@media screen, print {
body {
line-height: 1.2;
}
}
@media only screen and (min-width: 320px) and (max-width: 480px) and (resolution: 150dpi) {
body {
line-height: 1.4;
}
}
Синтаксис діапазону дає змогу писати менш об'ємні медіазапити при перевірці будь-якої можливості, що приймає діапазон, як показано в наступних прикладах:
@media (height > 600px) {
body {
line-height: 1.4;
}
}
@media (400px <= width <= 700px) {
body {
line-height: 1.4;
}
}
Більше прикладів – на сторінці Застосування медіазапитів.
Специфікації
Специфікація |
---|
Media Queries Level 4 (Media Queries 4) # media-descriptor-table |
CSS Conditional Rules Module Level 3 (CSS Conditional 3) # at-media |
Сумісність із браузерами
desktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
@media
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 6 | Opera Full support 9.2 | Safari Full support 3 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
-moz-device-pixel-ratio media feature
|
Chrome No support Ні | Edge No support Ні | Firefox Full support 4 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android Full support 4 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
-webkit-animation media feature
|
Chrome No support 2 – 36 | Edge No support Ні | Firefox No support Ні | Internet Explorer No support Ні | Opera No support 15 – 23 | Safari Full support 4 | WebView Android No support 2 – 37 | Chrome Android No support 18 – 36 | Firefox for Android No support Ні | Opera Android No support 14 – 24 | Safari on iOS Full support 3.2 | Samsung Internet No support 1.0 – 3.0 |
-webkit-device-pixel-ratio media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 63 | Internet Explorer No support Ні | Opera Full support 15 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 63 | Opera Android Full support 14 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
-webkit-max-device-pixel-ratio media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 63 | Internet Explorer No support Ні | Opera Full support 15 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 63 | Opera Android Full support 14 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
-webkit-min-device-pixel-ratio media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 63 | Internet Explorer No support Ні | Opera Full support 15 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 63 | Opera Android Full support 14 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
-webkit-transform-2d media feature
|
Chrome No support 2 – 36 | Edge No support Ні | Firefox No support Ні | Internet Explorer No support Ні | Opera No support 15 – 23 | Safari Full support 4 | WebView Android No support 2 – 37 | Chrome Android No support 18 – 36 | Firefox for Android No support Ні | Opera Android No support 14 – 24 | Safari on iOS Full support 3.2 | Samsung Internet No support 1.0 – 3.0 |
-webkit-transform-3d media feature
|
Chrome No support 2 – 36 | Edge No support 12 – 79 | Firefox Full support 49 | Internet Explorer No support Ні | Opera No support 15 – 23 | Safari Full support 4 | WebView Android No support 2 – 37 | Chrome Android No support 18 – 36 | Firefox for Android Full support 49 | Opera Android No support 14 – 24 | Safari on iOS Full support 3.2 | Samsung Internet No support 1.0 – 3.0 |
-webkit-transition media feature
|
Chrome No support 2 – 36 | Edge No support Ні | Firefox No support Ні | Internet Explorer No support Ні | Opera No support 15 – 23 | Safari Full support 4 | WebView Android No support 2 – 37 | Chrome Android No support 18 – 36 | Firefox for Android No support Ні | Opera Android No support 14 – 24 | Safari on iOS Full support 3.2 | Samsung Internet No support 1.0 – 3.0 |
any-hover media feature
|
Chrome Full support 41 | Edge Full support 16 | Firefox Full support 64 | Internet Explorer No support Ні | Opera Full support 28 | Safari Full support 9 | WebView Android Full support 41 | Chrome Android Full support 41 | Firefox for Android Full support 64 | Opera Android Full support 28 | Safari on iOS Full support 9 | Samsung Internet Full support 5.0 |
any-pointer media feature
|
Chrome Full support 41 | Edge Full support 12 | Firefox Full support 64 | Internet Explorer No support Ні | Opera Full support 28 | Safari Full support 9 | WebView Android Full support 41 | Chrome Android Full support 41 | Firefox for Android Full support 64 | Opera Android Full support 28 | Safari on iOS Full support 9 | Samsung Internet Full support 4.0 |
aspect-ratio media feature
|
Chrome Full support 3 | Edge Full support 12 | Firefox Full support 3.5 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 5 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 4.2 | Samsung Internet Full support 1.0 |
calc() expressions
|
Chrome Full support 66 | Edge Full support 79 | Firefox Full support 59 | Internet Explorer No support Ні | Opera Full support 53 | Safari Full support 12 | WebView Android Full support 66 | Chrome Android Full support 66 | Firefox for Android Full support 59 | Opera Android Full support 47 | Safari on iOS Full support 12 | Samsung Internet Full support 9.0 |
color media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
color-gamut media feature
|
Chrome Full support 58 | Edge Full support 79 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 45 | Safari Full support 10 | WebView Android Full support 58 | Chrome Android Full support 58 | Firefox for Android No support Ні | Opera Android Full support 43 | Safari on iOS Full support 10 | Samsung Internet Full support 7.0 |
color-index media feature
|
Chrome Full support 29 | Edge Full support 79 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 16 | Safari Full support 8 | WebView Android Full support 37 | Chrome Android Full support 29 | Firefox for Android No support Ні | Opera Android Full support 16 | Safari on iOS Full support 8 | Samsung Internet Full support 2.0 |
device-aspect-ratio media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
device-height media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
device-width media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
display-mode media feature
|
Chrome Full support 42 | Edge Full support 79 | Firefox Full support 47 | Internet Explorer No support Ні | Opera Full support 29 | Safari Full support 13 | WebView Android Full support 42 | Chrome Android Full support 42 | Firefox for Android Full support 47 | Opera Android Full support 29 | Safari on iOS Full support 12.2 | Samsung Internet Full support 4.0 |
dynamic-range media feature
|
Chrome Full support 98 | Edge Full support 98 | Firefox Full support 100 | Internet Explorer No support Ні | Opera Full support 84 | Safari Full support 13.1 | WebView Android Full support 98 | Chrome Android Full support 98 | Firefox for Android Full support 100 | Opera Android Full support 68 | Safari on iOS Full support 13.4 | Samsung Internet No support Ні |
forced-colors media feature
|
Chrome Full support 89 | Edge Full support 79 | Firefox Full support 89 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android Full support 89 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
grid media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 10 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
height media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
hover media feature
|
Chrome Full support 38 | Edge Full support 12 | Firefox Full support 64 | Internet Explorer No support Ні | Opera Full support 28 | Safari Full support 9 | WebView Android Full support 38 | Chrome Android Full support 50 | Firefox for Android Full support 64 | Opera Android Full support 28 | Safari on iOS Full support 9 | Samsung Internet Full support 5.0 |
inverted-colors media feature
|
Chrome No support Ні | Edge No support Ні | Firefox No support Ні | Internet Explorer No support Ні | Opera No support Ні | Safari Full support 9.1 | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android No support Ні | Opera Android No support Ні | Safari on iOS Full support 10 | Samsung Internet No support Ні |
Media feature expressions
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 9 | Opera Full support 9.2 | Safari Full support 3 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
Media query value support
|
Chrome Full support 66 | Edge Full support 79 | Firefox Full support 59 | Internet Explorer No support Ні | Opera Full support 53 | Safari No support Ні | WebView Android Full support 66 | Chrome Android Full support 66 | Firefox for Android Full support 59 | Opera Android Full support 47 | Safari on iOS No support Ні | Samsung Internet Full support 9.0 |
monochrome media feature
|
Chrome Full support 1 | Edge Full support 79 | Firefox Full support 2 | Internet Explorer No support Ні | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |
Nested media queries
|
Chrome Full support 26 | Edge Full support 12 | Firefox Full support 11 | Internet Explorer No support Ні | Opera Full support 12.1 | Safari Full support 7 | WebView Android Full support 37 | Chrome Android Full support 26 | Firefox for Android Full support 14 | Opera Android Full support 12.1 | Safari on iOS Full support 7 | Samsung Internet Full support 1.5 |
orientation media feature
|
Chrome Full support 3 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10.6 | Safari Full support 5 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 11 | Safari on iOS Full support 4.2 | Samsung Internet Full support 1.0 |
overflow-block media feature
|
Chrome No support Ні | Edge No support Ні | Firefox Full support 66 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android Full support 66 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
overflow-inline media feature
|
Chrome No support Ні | Edge No support Ні | Firefox Full support 66 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android Full support 66 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
pointer media feature
|
Chrome Full support 41 | Edge Full support 12 | Firefox Full support 64 | Internet Explorer No support Ні | Opera Full support 28 | Safari Full support 9 | WebView Android Full support 41 | Chrome Android Full support 50 | Firefox for Android Full support 64 | Opera Android Full support 28 | Safari on iOS Full support 9 | Samsung Internet Full support 5.0 |
prefers-color-scheme media feature
|
Chrome Full support 76 | Edge Full support 79 | Firefox Full support 67 | Internet Explorer No support Ні | Opera Full support 62 | Safari Full support 12.1 | WebView Android Full support 76 | Chrome Android Full support 76 | Firefox for Android Full support 67 | Opera Android Full support 54 | Safari on iOS Full support 13 | Samsung Internet Full support 14.2 |
no-preference value
|
Chrome No support 76 – 80 | Edge No support 79 – 80 | Firefox No support 67 – 79 | Internet Explorer No support Ні | Opera No support 62 – 71 | Safari Full support 12.1 | WebView Android No support 76 – 80 | Chrome Android No support 76 – 80 | Firefox for Android No support 67 – 79 | Opera Android Full support 54 | Safari on iOS Full support 13 | Samsung Internet Full support 14.2 |
prefers-contrast media feature
|
Chrome Full support 96 | Edge Full support 96 | Firefox Full support 101 | Internet Explorer No support Ні | Opera Full support 82 | Safari Full support 14.1 | WebView Android Full support 96 | Chrome Android Full support 96 | Firefox for Android Full support 101 | Opera Android No support Ні | Safari on iOS Full support 14.5 | Samsung Internet Full support 17.0 |
prefers-reduced-data media feature
|
Chrome Full support 85 | Edge Full support 85 | Firefox No support Ні | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android Full support 85 | Firefox for Android No support Ні | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
prefers-reduced-motion media feature
|
Chrome Full support 74 | Edge Full support 79 | Firefox Full support 63 | Internet Explorer No support Ні | Opera Full support 62 | Safari Full support 10.1 | WebView Android Full support 74 | Chrome Android Full support 74 | Firefox for Android Full support 64 | Opera Android Full support 53 | Safari on iOS Full support 10.3 | Samsung Internet Full support 11.0 |
Range syntax from Media Queries Level 4 | Chrome No support Ні | Edge No support Ні | Firefox Full support 63 | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android Full support 63 | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
resolution media feature
|
Chrome Full support 29 | Edge Full support 12 | Firefox Full support 8 | Internet Explorer Full support 9 | Opera Full support 16 | Safari No support Ні | WebView Android Full support 37 | Chrome Android Full support 29 | Firefox for Android Full support 8 | Opera Android Full support 16 | Safari on iOS No support Ні | Samsung Internet Full support 2.0 |
scripting media feature
|
Chrome No support Ні | Edge No support Ні | Firefox No support Ні | Internet Explorer No support Ні | Opera No support Ні | Safari No support Ні | WebView Android No support Ні | Chrome Android No support Ні | Firefox for Android No support Ні | Opera Android No support Ні | Safari on iOS No support Ні | Samsung Internet No support Ні |
video-dynamic-range media feature
|
Chrome Full support 98 | Edge Full support 98 | Firefox Full support 100 | Internet Explorer No support Ні | Opera Full support 84 | Safari Full support 13.1 | WebView Android Full support 98 | Chrome Android Full support 98 | Firefox for Android Full support 100 | Opera Android Full support 68 | Safari on iOS Full support 13.4 | Samsung Internet No support Ні |
width media feature
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 2 | Internet Explorer Full support 9 | Opera Full support 10 | Safari Full support 3 | WebView Android Full support 37 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 |