Урок 11. Справочник: приставки адаптивности

📁 Раздел: Раскладка ⏱️ Время изучения: ~50 мин 🎯 Сложность: Средняя

⚡ Кратко

Приставки: sm: md: lg: xl: 2xl: — «от и выше», max-* — «до», @sm: @md: — по ширине контейнера.

Брейкпоинты окна

ПриставкаМедиазапросШирина
sm:@media (width >= 40rem)640px
md:@media (width >= 48rem)768px
lg:@media (width >= 64rem)1024px
xl:@media (width >= 80rem)1280px
2xl:@media (width >= 96rem)1536px
max-sm: … max-2xl:@media (width < …)«до» соответствующей ширины
min-[720px]:произвольное значениелюбое
md:max-xl:диапазон768–1280px

Контейнерные запросы

КлассЧто делает
@containerобъявить элемент контейнером запросов
@container/sidebarименованный контейнер
@sm:, @md:, @lg:, @xl:от ширины контейнера (24rem, 28rem, 32rem, 36rem)
@max-md:до указанной ширины контейнера
@lg/sidebar:flexправило по конкретному именованному контейнеру
@min-[400px]:произвольная ширина контейнера
⚠️ Проверить по документации: шкала контейнерных размеров (@3xs … @7xl) шире, чем приведённые здесь четыре ступени — полный список смотрите в разделе Responsive design документации.

Другие «условные» варианты

ПриставкаУсловие
dark:тёмная тема (урок 13)
motion-safe: / motion-reduce:пользователь разрешил / отключил анимации
print:при печати
portrait: / landscape:ориентация экрана
supports-[display:grid]:поддержка свойства браузером
pointer-coarse:сенсорный ввод (крупные зоны нажатия)

Частые связки

ЗадачаКлассы
Скрыть на мобильномhidden md:block
Показать только на мобильномmd:hidden
Колонка → строкаflex flex-col md:flex-row
Растущие поля страницыpx-4 md:px-8 lg:px-12
Крупный заголовок на десктопеtext-2xl md:text-4xl
Сайдбар только на широком экранеhidden lg:flex lg:w-64