Атрибут media HTML тега <link>
Значение и применение
Атрибут media задаёт медиазапрос, при котором применяются стили, например print или
(width <= 40rem). Это условие применения, а не автоматическая адаптация CSS под устройство.
Поддержка браузерами
Спецификация: multipage
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
media | 1 | 12 | 1 | ≤12.1 | ≤4 | 18 | 4 | ≤12.1 | ≤3.2 | 1.0 | 4.4 | ≤3.2 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
Синтаксис:
<link media = "mediatype and | not | only (media function)" rel = "stylesheet" href = "stylesheet.css">
Логические операторы
Вы можете комбинировать медиа-запросы с использованием логических операторов:
| Значение | Описание |
|---|---|
| and | Оператор and ("И") используется для объединения нескольких медиа-запросов в один. |
| not | Оператор not ("Логическое НЕ") обращает результат - если медиа-запрос был истинным без "not", то он станет ложным, и наоборот. |
| only | Оператор only ("Только") может использоваться для скрытия таблиц стилей от устаревших браузеров, которые не могут обработать медиа-запрос (игнорируют), содержащий в себе этот логический оператор. |
| , | Оператор "," позволяет объединить несколько медиа-запросов через запятую. Если хотя бы один запрос возвращает "true" (соответствует), то условие выполняется и стили будут применены. Этот оператор ведет себя как логический оператор OR ("ИЛИ" ). |
Устройства
Вы можете использовать медиа-запросы для конкретных типов устройств:
| Значение | Описание |
|---|---|
| all | Подходит для всех типов устройств. Это значение по умолчанию. |
| aural | Предназначено для речевых синтезаторов. Значение считается устаревшим. |
| braille | Устройства для чтения шрифта Брайля (рельефно-точечный тактильный шрифт, предназначенный для письма и чтения незрячими и плохо видящими людьми). Значение считается устаревшим. |
| embossed | Устройства, предназначенные для печати шрифта Брайля. Значение считается устаревшим. |
| handheld | Предназначено для портативных устройств (маленький экран и ограниченная полоса пропускания - bandwidth). Значение считается устаревшим. |
| Предназначен для печатных страниц и для режима предварительного просмотра печати. | |
| projection | Устройства проекционного типа (проекторы). Значение считается устаревшим. |
| screen | Экраны компьютера. |
| speech | Речевые синтезаторы, устройства для чтения с экрана (для чтения страниц вслух). |
| tty | Устройства, которые используют набор символов фиксированной ширины, например, телетайпы или терминалы. Значение считается устаревшим. |
| tv | Устройства телевизионного типа (низкое разрешение, ограниченные возможности прокрутки, возможность передачи звука). Значение считается устаревшим. |
Мультимедийные функции
| Значение | Описание |
|---|---|
aspect-ratio |
Соотношение ширины и высоты области просмотра (соотношение сторон экрана). Это значение состоит из двух целых
положительных чисел, разделенных косой чертой ("/"). Первое число это соотношение пикселей по горизонтали, а
второе по вертикали. Например: aspect-ratio: 5/4 (соотношение пять к четырем).
|
color |
Определяет количество бит на цветовую компоненту устройства вывода. Если устройство не является цветным устройством, то это значение равно нулю. Допускаются только положительные значения. Например, если дисплей использует по 4 бита на красный и синий, а 5 бит на зеленый, то считается, что устройство использует 4 бит на цветовой компонент. |
color-index |
Количество цветов, которое устройство может отображать. Отрицательные значения не допускаются. |
device-aspect-ratio |
Соотношение ширины и высоты области просмотра выходного устройства (соотношение сторон). Это значение состоит
из двух целых положительных чисел, разделенных косой чертой ("/"). Первое число это соотношение пикселей по
горизонтали, а второе по вертикали. Например: device-aspect-ratio: 5/4 (соотношение
пять к четырем). Значение считается устаревшим в "Media Queries Level 4".
|
device-height |
Определяет высоту устройства вывода (весь экран или страницу, а не только отображаемую область). Значение считается устаревшим в "Media Queries Level 4". |
device-width |
Определяет ширину устройства вывода (весь экран или страницу, а не только отображаемую область). Значение считается устаревшим в "Media Queries Level 4". |
grid |
Определяет основано ли выходное устройство на сеточной системе (например, терминал "tty" или дисплей телефона с одним фиксированным шрифтом), в этом случае значение будет равно 1, если устройство растровое, то значение будет равно 0. |
height |
Задает высоту области просмотра (используются единицы измерения CSS). |
max-aspect-ratio |
Максимальное соотношение ширины и высоты области просмотра (соотношение сторон экрана). Это значение состоит из двух целых положительных чисел, разделенных косой чертой ("/"). Первое число это соотношение пикселей по горизонтали, а второе по вертикали. |
max-color |
Определяет максимальное количество бит на цветовую компоненту устройства вывода. Допускаются только положительные значения. |
max-color-index |
Максимальное количество цветов, которое устройство может отображать. Отрицательные значения не допускаются. |
max-device-aspect-ratio |
Масимальное соотношение ширины и высоты области просмотра выходного устройства (соотношение сторон). Это значение состоит из двух целых положительных чисел, разделенных косой чертой ("/"). Первое число это соотношение пикселей по горизонтали, а второе по вертикали. Значение считается устаревшим в "Media Queries Level 4". |
max-device-height |
Определяет максимальную высоту устройства вывода (весь экран или страницу, а не только отображаемую область). Значение считается устаревшим в "Media Queries Level 4". |
max-device-width |
Определяет максимальную ширину устройства вывода (весь экран или страницу, а не только отображаемую область). Значение считается устаревшим в "Media Queries Level 4". |
max-height |
Задает максимальную высоту области просмотра (используются единицы измерения CSS). |
max-monochrome |
Указывает максимальное количество бит на пиксель монохромного устройства. Если устройство не является монохромным, то значение будет равно 0. Допускаются только положительные целые числа. |
max-resolution |
Указывает максимальное разрешение устройства вывода (например, монитор, или принтер). Разрешение может быть
указано как в точках на дюйм (dpi), так и в
точках на сантиметр (dpcm).
|
max-width |
Задает максимальную ширину области просмотра (используются единицы измерения CSS). |
min-aspect-ratio |
Минимальное соотношение ширины и высоты области просмотра (соотношение сторон экрана). Это значение состоит из двух целых положительных чисел, разделенных косой чертой ("/"). Первое число это соотношение пикселей по горизонтали, а второе по вертикали. |
min-color |
Определяет минимальное количество бит на цветовую компоненту устройства вывода. Допускаются только положительные значения. |
min-color-index |
Минимальное количество цветов, которое устройство может отображать. Отрицательные значения не допускаются. |
min-device-aspect-ratio |
Минимальное соотношение ширины и высоты области просмотра выходного устройства (соотношение сторон). Это значение состоит из двух целых положительных чисел, разделенных косой чертой ("/"). Первое число это соотношение пикселей по горизонтали, а второе по вертикали. Значение считается устаревшим в "Media Queries Level 4". |
min-device-height |
Определяет минимальную высоту устройства вывода (весь экран или страницу, а не только отображаемую область). Значение считается устаревшим в "Media Queries Level 4". |
min-device-width |
Определяет минимальную ширину устройства вывода (весь экран или страницу, а не только отображаемую область). Значение считается устаревшим в "Media Queries Level 4". |
min-height |
Задает минимальную высоту области просмотра (используются единицы измерения CSS). |
min-monochrome |
Указывает минимальное количество бит на пиксель монохромного устройства. Если устройство не является монохромным, то значение будет равно 0. Допускаются только положительные целые числа. |
min-resolution |
Указывает минимальное разрешение устройства вывода (например, монитор, или принтер). Разрешение может быть
указано как в точках на дюйм (dpi), так и в
точках на сантиметр (dpcm).
|
min-width |
Задает минимальную ширину области просмотра (используются единицы измерения CSS). |
monochrome |
Указывает количество бит на пиксель монохромного устройства. Если устройство не является монохромным, то значение будет равно 0. Допускаются только положительные целые числа. |
orientation |
Определяет, находится ли область просмотра в режиме альбомной ориентации - экран шире, чем высота, или в
портретной ориентации - высота дисплея больше или равна ширине. Для альбомной ориентации используется
значение: orientation: landscape, а для портретной и orientation:
portrait.
|
resolution |
Указывает разрешение устройства вывода (например, монитор, или принтер). Разрешение может быть указано как в
точках на дюйм (dpi), так и в точках на сантиметр (dpcm).
|
scan |
Указывает метод сканирования устройства вывода. Применяется для устройств
телевизионного типа (tv). Для того, чтобы указать тип развертки устройства, необходимо указать
одно из значений: чересстрочная развертка - (interlace),
прогрессивная развертка (progressive).
|
width |
Задает ширину области просмотра (используются единицы измерения CSS). |
Мультимедийные функции (Media Queries Level 4)
В "Media Queries Level 4" добавлены следующие новые функции, с разной поддержкой браузерами; многие уже применяются на практике:
-
scripting(определяет используются ли языки сценариев, такие как JavaScript в текущем документе).
Значения:enabled(скрипты доступны в текущем документе).none(скрипты полностью недоступны в текущем документе).
-
pointer(используется для запроса о наличии и правильности указывающего устройства, такого как мышь. Если устройство имеет несколько механизмов ввода, то функция указателя должна отражать характеристики "первичного" механизма входного сигнала, который определяется браузером пользователя).
Значения:none(основной механизм ввода устройства не включает в себя указательное устройство).-
coarse(основным механизмом ввода устройства входит указательное устройство ограниченной точности, например, сенсорные экраны и системы обнаружения движения по типу Kinect - периферийные устройства для Xbox). -
fine(основной механизм ввода устройства включает в себя точное указывающее устройство, например, мыши, тачпады и устройства для рисования стилусом).
-
any-pointer(аналогиченpointer, но используется для запроса возможности любого доступного механизма ввода).
Значения:none|coarse|fine -
hover(используется для запроса на способность пользователя навести курсор на элемент на странице. Если устройство имеет несколько механизмов ввода, то функция должна отражать характеристики "первичного" механизма входного сигнала, который определяется браузером пользователя).
Значения:-
none(указывает, что основное указательное устроство не может навести курсор на элемент на странице, например, сенсорные экраны и экраны, которые используют для рисования стилусом). -
hover(указывает, что основное указательное устроство может навести курсор на элемент на странице, например, мыши и устройства с физической точкой на экране, как контроллер Nintendo для Wii.).
-
-
any-hover(аналогиченhover, но используется для запроса возможности любого доступного механизма наведения).
Значения:none|hover -
color-gamut(описывает примерный диапазон цветов, которые поддерживаются UA и выходными устройствами).
Значения:srgb(выходное устройство может поддерживать примерно диапазон sRGB или более).-
p3(выходное устройство может поддерживать примерно диапазон, указанный DCIP3 цветового пространства или более). -
rec2020(выходное устройство может поддерживать примерно диапазон, указанный в ITU-R рекомендации BT.2020 цветового пространства или более).
-
update(функция средства обновления используется для запроса на способность устройства вывода изменить внешний вид содержимого после его рендеринга).
Значения:none(макет не может быть обновлен, например, для документов, напечатанных на бумаге).-
slow(макет может динамически меняться в соответствии с обычными правилами CSS, но выходное устройство не в состоянии достаточно быстро отобразить изменения, чтобы восприниматься как плавная анимация, например: e-ink экраны). -
fast(макет может динамически изменяться в соответствии с обычными правилами CSS и выходное устройство не ограничено в скорости, поэтому такие эффекты как CSS анимация могут быть использованы, например: экраны компьютера.).
-
overflow-block(определяет как выходные устройства обрабатывают содержимое, которое не помещается в область просмотра по оси блока)
Значения:none(любое переполнение контента просто не отображается, например, рекламные щиты).scroll(позоляет пользователю прокрутить содержание, например, экраны компьютеров).-
paged(содержимое разделено на отдельные страницы, содержимое, выходящее за пределы одной страницы в оси блока отображается на следующей странице, например, принтеры или устройства для чтения).
-
overflow-inline(описывает поведение устройства, когда содержимое превышает начальный содержащий блок по inline оси.)
Значения:none(любое переполнение контента просто не отображается).scroll(позоляет пользователю прокрутить содержание).
Отличия HTML 4.01 от HTML 5
Нет.
Для новых стилей ориентируйтесь на область просмотра и возможности устройства, например (hover: hover),
(pointer: coarse), (prefers-reduced-motion: reduce) и
(prefers-color-scheme: dark). Современный синтаксис диапазонов и логических условий разобран в
справочнике @media. Тип speech не означает, что обычная
программа экранного доступа переключит браузер на отдельную таблицу стилей.
Примеры, попробуйте сами
Атрибут media элемента link
Создайте файл print.css и откройте HTML отдельно. Правила применяются при печати; внешний CSS в редакторе не загружается.
Исходный код для изучения. Запуск на этой странице недоступен.
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="print.css" media="print" />
<title>Стили печати</title>
</head>
<body>
<h1>Моя страница</h1>
<p>Содержимое документа.</p>
</body>
</html>