Опубликовано: 18.08.2010 Последняя правка: 10.12.2015
CSS1CSS2CSS2.1CSS3
IEChromeFireFoxOperaSafari

@media

Правило CSS @media используется для указания браузеру перечня типов устройств, для которых следует применять ту или иную таблицу стилей (CSS).

Тип правила

Назначение: at-правила.

Применяется: во внутренних или внешних (но не во встроенных) таблицах стилей в любом количестве.

Если вы хотите указать список устройств для всей внутренней или внешней таблицы стилей, то лучше использовать атрибут media тегов <STYLE> или <LINK>.

Значения

Значением @media является указание одного или нескольких (через запятую) типов устройств, после которых идет список стилей заключенный в фигурные скобки {  }.

Типы устройств и их обозначения
allТаблица стилей используется для всех устройств.
auralДля речевых синтезаторов.
brailleУстройства для слепых людей.
embossedСтраничные принтеры для слепых людей.
handheldДля устройств с небольшими экранами (мобильные телефоны, карманные компьютеры и т.д.).
printИспользуется при выводе документа на печать.
projectionДля проектора.
screenЭкран компьютерного монитора.
ttyУстройства, использующие символьную сетку экрана фиксированного шага, например телетайп.
tvДля экранов подобно телевизионным (низкое разрешение, ограниченная цветопередача, отсутствует прокрутка и т.д.).

Синтаксис

@media тип устройства1, тип устройства2... {
  список стилей
 }

Пример CSS: использование @media

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>seodon.ru - CSS правило @media</title>
  <style type="text/css">
   @media all { /* стили для всех устройств */
    p {
     font-family: Arial, sans-serif; /* имя шрифта */
     font-size: 80%; /* размер шрифта */
     border: 2px #000 solid; /* стиль рамки */
     padding: 7px; /* внутренние отступы */
    }
   }

   @media screen { /* для мониторов */
    p {
     color: #0033cc; /* цвет текста */
     background: #33cc00; /* цвет фона */
    }
   }

   @media print { /* для принтеров */
    p {
     color: black; /* цвет текста */
     font-weight: bold; /* жирный шрифт */
    }
   }
  </style>
 </head>
 <body>
  <p>В данном примере имеется три стиля: первый - для всех устройств,
   второй - дополняет первый и используется для монитора компьютера,
   третий - дополняет первый и используется для вывода на принтер.</p>
 </body>
</html>

Результат примера

Результат. Использование правила CSS @media в браузере Chrome.

Использование правила CSS @media в браузере Chrome

Результат. Использование правила CSS @media при выводе на принтер.

Использование правила CSS @media при выводе на принтер

Версии CSS

Версия:CSS 1CSS 2CSS 2.1CSS 3
Поддержка:НетДаДаДа

Браузеры

Браузер:Internet ExplorerGoogle ChromeMozilla FirefoxOperaSafari
Версия:6.0 и выше2.0 и выше2.0 и выше9.2 и выше3.1 и выше
Поддержка:ДаДаДаДаДа