Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник HTML & CSS

@media

Применяет правила только при заданных условиях — ширине окна, теме системы и других.

Синтаксис

@media (min-width: 600px) { … }

Параметры

ПараметрТипОписание
min-widthlengthПравила действуют, если окно не уже указанной ширины.
max-widthlengthПравила действуют, если окно не шире указанной ширины.
prefers-color-schemelight | darkТема, выбранная в системе пользователя.
prefers-reduced-motionreduceПользователь попросил уменьшить анимацию.
hoverhover | noneУмеет ли основное устройство ввода наводить (мышь умеет, палец — нет).

Примеры

Одна колонка на узком экране, три — на широком:

<style>
  .cards { display: grid; gap: 8px; }
  .cards div { padding: 12px; background: lightskyblue; }
 
  @media (min-width: 500px) {
    .cards { grid-template-columns: repeat(3, 1fr); }
  }
</style>
 
<div class="cards"><div>1</div><div>2</div><div>3</div></div>

Тёмная тема по настройке системы:

<style>
  .theme { padding: 12px; background: white; color: black; }
 
  @media (prefers-color-scheme: dark) {
    .theme { background: #222; color: white; }
  }
</style>
 
<div class="theme">This block follows the system theme.</div>

Примечания

Сначала пишите стили для телефона, а в медиазапросах min-width дополняйте их для широких экранов — так кода получается меньше. Поддерживается и современная запись диапазонов: @media (width >= 600px). Чтобы подстраивать компонент под контейнер, а не под окно, используйте @container.

См. также

  • @container — Применяет правила в зависимости от размера контейнера, а не окна.
  • max-width — Максимальная ширина: элемент может быть уже, но не шире.
  • grid-template-areas — Рисует раскладку сетки картой именованных областей.
  • @supports — Применяет правила, только если браузер поддерживает указанное свойство, значение или селектор.

Вопросы и ответы по теме

В учебнике

  • Медиазапросы — Адаптивная вёрстка с медиазапросами — тег viewport, правило @media, min-width и max-width, подход mobile first и перестройка каркаса.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.