CSS и вёрстка

Как писать медиа запросы CSS

📅 ⏱ 20:55 ⏳ 1 мин 💬 0

Как писать медиа запросы css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем те

Коротко: медиазапрос пишут так: @media (max-width: 768px) { … } — стили внутри применяются только при подходящей ширине экрана. Для адаптива чаще используют min-width и подход mobile first: базовые стили для мобильных, а расширения — для широких экранов.

Кому и зачемМедиазапросы — основа адаптивной вёрстки. Они позволяют менять число колонок, размеры шрифта и видимость блоков под телефон, планшет и десктоп без отдельного сайта для каждого устройства.

Синтаксис

Условие Когда срабатывает
max-width экран уже указанной ширины
min-width экран шире указанной ширины
orientation портрет или альбом
and несколько условий вместе

Базовые примеры

CSS
/* мобильные: одна колонка */
.grid { grid-template-columns: 1fr; }

/* планшет и шире */
@media (min-width: 768px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
}

/* десктоп и шире */
@media (min-width: 1200px) {
  .grid { grid-template-columns: repeat(3, 1fr); }
}

Такой порядок — от узкого к широкому — называется mobile first. Он проще и надёжнее, чем писать отдельные правила «сверху вниз».

Вкладки: приёмы



CSS
@media (min-width: 600px) and (max-width: 900px) {
  /* только для планшетов */
}

Диапазон задают двумя условиями через and. Используйте редко: обычно достаточно одного min-width.

CSS
@media (max-width: 768px) {
  .sidebar { display: none; }
  .burger  { display: block; }
}

На мобильном боковую панель часто скрывают, а вместо неё показывают кнопку меню. Главное — не потерять доступ к важному контенту.

CSS
@media (prefers-reduced-motion: reduce) {
  * { animation: none; transition: none; }
}

Запрос уважает настройку «уменьшить движение»: пользователи с чувствительностью к анимации получат спокойный интерфейс.

ОбязательноБез метатега viewport в <head> медиазапросы на мобильных работать не будут: телефон отобразит страницу в масштабе десктопа. Добавьте <meta name="viewport" content="width=device-width, initial-scale=1">.

Практика: написать медиазапрос

  1. Проверьте наличие метатега viewport.
  2. Напишите базовые стили для мобильных.
  3. Добавьте @media (min-width: 768px) для планшетов.
  4. Добавьте запрос для широких экранов.
  5. Проверьте вёрстку, меняя ширину окна.
  6. Не забывайте про промежуточные размеры.

Частые ошибки: причина → решение

Симптом Причина Решение
Запросы не работают нет метатега viewport добавить в head
Стили не применяются запрос выше базовых поставить после основных
Правила конфликтуют одинаковая специфичность соблюдать порядок
Много запросов нет общей системы выбрать 2–3 точки
Ломается между точками жёсткие размеры использовать проценты

Проверьте себя

Чек-лист




Как записать медиазапрос?




Что нужно для работы медиазапросов на телефоне?




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

Обычно min-width в подходе mobile first: сначала мобильные стили, потом расширения. max-width удобен, когда нужно точечно переопределить что-то на узких экранах.

Две-три: например 600px, 900px и 1200px. Больше точек усложняет поддержку. Точно выбранных значений из «модных» списков не существует — берите по своему макету.

Проверьте три вещи: метатег viewport, порядок правил (запрос должен идти после базовых стилей) и специфичность селекторов.

Медиазапрос, учитывающий системную настройку «уменьшить движение». Если она включена, анимации отключают или делают мягче — это забота о пользователях с чувствительностью к движению.

Итоги

  • Медиазапрос пишут через @media с условием по ширине.
  • Mobile first строится на min-width.
  • Без метатега viewport запросы на мобильных не работают.
  • Хватает двух-трёх точек перелома.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

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

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость