media CSS значення

Правило @media дозволяє вказати тип носія, для якого буде застосовано вказаний стиль. В якості типів виступають різні пристрої, наприклад, принтер, КПК, монітор та ін. В таблиці перечислені деякі з них.

Тип Опис
all Всі типи. Це значення використовується за умовчанням.
print Друкуючі пристрої на кшталт принтера.
screen Екран монітора.
speech Мовні синтезатори, а також програми для відтворення тексту вголос. Сюди, наприклад, можна віднести мовні браузери.

Наступні типи є коректними, але застарілими і не дають ніякого результату.

Тип Опис
braille Пристрої, засновані на системі Брайля, які призначені для сліпих людей.
handheld Надолонні комп'ютери і аналогічні їм апарати.
projection Проектор.
embossed Принтери, що використовують для друку систему Брайля.
tty Пристрої з фіксованим розміром символів (телетайпи, термінали, пристрої з обмеженнями дисплея).
tv Телевізор.

Після ключового слова @media йде один або кілька типів носія, перерахованих в табл.; якщо їх більше одного, то вони поділяються між собою комою. Після чого йдуть обов'язкові фігурні дужки, всередині яких йде звичайне опис стильових правил.

Команда @media застосовується в основному для формування одного стильового файлу, який розбитий на блоки по типу пристроїв. Іноді ж має сенс створити кілька різних CSS-файлів - один для друку, інший для відображення в браузері - і підключати їх до документа в міру необхідності. У подібному випадку слід скористатися тегом <link> з атрибутом media, значенням якого виступають ті ж типи, перераховані в табл.

Логічні оператори, що застосовуються в медіа-запитах:

and

Логічне І. Вказується для об'єднання декількох умов.

Приклад. Стиль для всіх кольорових пристроїв

@media all and (color) { ... }

not

Логічне НЕ. Вказується для заперечення умови.

Приклад. Стиль для всіх пристроїв крім принтера

@media all and (not print) { ... }

Оператор not оцінюється в запиті останнім, тому вираз

@media not all and (color) { ... }

слід розуміти як

@media not (all and (color)) { ... }

а не

@media (not all) and (color) { ... }

only

Застосовується для старих браузерів, які не підтримують медіа-запити. Старі браузери вважають ключове слово only типом носія, але оскільки такого типу не існує, то ігнорують весь стиль цілком. Сучасні браузери сприймають запис з only і без нього однаково.

@media only all and (not print) { ... }

Медіа-функції

Медіа-функції задають технічні характеристики пристрою, на якому відображається документ. Стиль виконується в тому випадку, якщо запит повертає істину, іншими словами, зазначені умови виконуються.

Більшість функцій містять приставку min- і max-, які відповідають мінімальному і максимальному значенню. Так, max-width: 400px означає, що ширина вікна браузера менше 400 пікселів, а min-width: 1000px, навпаки, повідомляє, що ширина вікна понад 1000 пікселів.

aspect-ratio (min-aspect-ratio, max-aspect-ratio) - Визначає співвідношення ширини і висоти відображуючої області пристрою. Значення вказується в вигляді двох цілих чисел поділюваних між собою слешем (/).

color (min-color, max-color) - Визначає число біт на канал кольору. Наприклад, значення 3 означає, що червоний, зелений і синій канал можуть відображати 23 кольорів кожен, що в загальному становить 512 кольорів (8 × 8 × 8). Якщо значення не вказано, тоді перевіряється що пристрій кольоровий. У прикладі показано така перевірка.

@media screen and (color) { /* Для кольорових екранів */

  body { background: #fc0; }

}

@media screen and (min-color:3) { /*Мінімум 512 кольорів */

  body { background: #ccc; }

}

color-index (min-color-index, max-color-index) - Визначає кількість кольорів, що підтримує пристрій.

device-aspect-ratio (min-device-aspect-ratio, max-device-aspect-ratio) - Визначає співвідношення сторін екрану пристрою. Значення вказується в вигляді двох цілих чисел поділюваних між собою слешем (/). У прикладі показано, як встановити стиль для екранів із співвідношенням сторін 16: 9 і більше.

@media screen and (min-device-aspect-ratio: 16/9) {

 ...

}

device-height (min-device-height, max-device-height) - Визначає всю доступну висоту екрану пристрою або друкованої сторінки.

device-width (min-device-width, max-device-width) - Визначає всю доступну ширину екрану пристрою або друкованої сторінки.

Переглядачі

Переглядач
media

9.0

12.0

1.0

9.2

1.3

1.0

Переглядач
media

1.0

1.0

3.1


Мобільних переглядачів ще не додано.

Приклади


Синтаксис властивості.

@media screen and (min-device-width: 1600px) {


    div {width: 1500px;}


}

Демонстація роботи значення.