CSS-справочникВ стандарте

CSS @media — как работает

CSS @media: принцип работы, корректный синтаксис, практический сценарий, ограничения, ошибки и актуальная совместимость.

Назначение и границы

Назначение «@media» раскрывается через задачу «управлять условием, ресурсом или областью применения блока CSS». Правило @media управляет частью таблицы стилей на уровне, отличном от обычной декларации. Для воспроизводимой проверки «@media» используйте пример в карточке материала с длинным заголовком и наблюдайте победившую декларацию во вкладке Computed.

Практическое правило для @media

Для «@media» сначала соблюдайте допустимое место @-правила и порядок относительно других правил. После этого сравните исходное и изменённое состояние «@media» на одном и том же содержимом.

Синтаксис @media

Пример «@media» оставляет только контекст, необходимый для области «CSS @-правила». Измените одно значение и проследите результат в браузере.

css
@media (min-width: 48rem) {
  .layout { display: grid; }
}
Открыть в Playground

Как работает @media

Интерпретируется на уровне таблицы стилей, а не как обычное свойство элемента. Для «@media» проверьте две контрольные точки — победившую декларацию во вкладке Computed и результат при системной тёмной теме: так видно, на каком этапе появляется итоговое поведение этой темы.

Проверка в проекте

  • Соблюдайте допустимое место @-правила и порядок относительно других правил; результат относится непосредственно к «@media».
  • Пройти компонент клавишами Tab, Enter, Space и стрелками, если они предусмотрены при разборе «@media».
  • Проверьте «@media» в карточке материала с длинным заголовком через победившую декларацию во вкладке Computed и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «@media», когда требуется управлять условием, ресурсом или областью применения блока CSS; подтвердите выбор предметной проверкой: соблюдайте допустимое место @-правила и порядок относительно других правил. Для «@media» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с @media

Проверьте «@media» в минимальном компоненте с длинным текстом, клавиатурным управлением и узким экраном. Отдельная проверка для «@media»: соблюдайте допустимое место @-правила и порядок относительно других правил.

CSS @-правила@media

Сценарий: в карточке материала с длинным заголовком.

Ошибки при работе с @media

01

Поддержка

Неверное положение или синтаксис @media может сделать весь блок недействительным — это предметный риск для «@media».

02

Контекст

Использование физической стороны там, где нужен логический отступ при использовании «@media».

03

Устойчивость

Дублирование интерактивной роли без нативного управления; для «@media» проверьте это отдельно.

Поддержка @media

Для «@media» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «@media»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 1Edgeс версии 12Firefoxс версии 1Safariс версии 3

Спецификация: источник 1, источник 2.

Вопросы о @media

Как понять, что «@media» выбрано правильно?

«@media» выбрано правильно, когда оно решает задачу «управлять условием, ресурсом или областью применения блока CSS», сохраняет результат в карточке материала с длинным заголовком и проходит предметную проверку: соблюдайте допустимое место @-правила и порядок относительно других правил.

Нужен ли запасной вариант для «@media»?

Запасной вариант для «@media» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «@media» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.