← Все вопросы

Как сделать адаптивную верстку через media queries — на пальцах?

Задан 4 месяца назад1к просмотров4 ответа
18

Сайт нормально выглядит на компе, но на телефоне всё разъезжается. Слышал про media queries, но не понимаю как их применять. Можно простой пример?

4 ответа

36
✓ Принятый ответ — помог автору

Media query — это блок CSS, который применяется только при определённой ширине экрана. Идея: пишешь базовые стили, а потом «переопределяешь» их для узких экранов.

/* базовые стили — десктоп */
.menu {
  display: flex;
  gap: 24px;
}

/* когда ширина экрана 768px и меньше */
@media (max-width: 768px) {
  .menu {
    flex-direction: column; /* пункты в столбик */
    gap: 12px;
  }
}

Два обязательных момента, без которых ничего не заработает на телефоне:

  1. Добавь в <head> мету: <meta name="viewport" content="width=device-width, initial-scale=1">
  2. Не задавай блокам фиксированную ширину в px — используй max-width, %, flex/grid.

Популярный подход — mobile-first: базовые стили под мобилку, а @media (min-width: ...) добавляет навороты для широких экранов.

Александра Виноградова автор: спасибо, развёрнуто и по делу · 3 месяца назад
Матвей Крылов забыл meta viewport, из-за этого и не работало 🙏 · 3 месяца назад
13

Главное не забудь <meta name="viewport" content="width=device-width, initial-scale=1"> в head, иначе media queries на телефоне будут игнориться.

7

@media (max-width: 600px) { ... } — внутри переопределяешь стили для мелких экранов. Всё.

3

Через @media.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект