Ответ вслух Junior Адаптивность спрашивают часто обновлено

Как ты делаешь адаптивную вёрстку

Вопрос

Как ты подходишь к адаптивной вёрстке? Какие инструменты используешь?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Начинаю с meta viewport, иначе мобильный браузер покажет уменьшенную десктопную версию. Пишу mobile-first: базовые стили для узкого экрана, а для широких добавляю медиазапросы от определённой ширины.

Что должно прозвучать в ответе

  • meta viewport с `width=device-width`

  • Mobile-first: база для узкого экрана, медиазапросы `min-width` сверху

  • Гибкая раскладка на Flexbox и Grid, `auto-fit` и `minmax` вместо лишних брейкпоинтов

  • Относительные единицы: `rem` для шрифтов, `clamp()` для плавных размеров

  • Контейнерные запросы для компонентов, которые живут в местах разной ширины

  • Адаптивные картинки: `srcset`/`sizes`, `width`/`height` или `aspect-ratio`

Что могут спросить следом

  • Как выбираешь брейкпоинты?
  • Почему шрифт не стоит задавать чистым vw?
  • Как проверяешь вёрстку на реальных устройствах?

Разбор

Начинаю с meta viewport, иначе мобильный браузер покажет уменьшенную десктопную версию. Пишу mobile-first: базовые стили для узкого экрана, а для широких добавляю медиазапросы от определённой ширины. Брейкпоинты ставлю там, где ломается контент, а не под модели телефонов. Стараюсь, чтобы раскладка была гибкой сама по себе: сетка карточек на repeat(auto-fit, minmax(240px, 1fr)) вообще не требует медиазапросов, колонка текста width: min(100% - 32px, 720px). Шрифты в rem, чтобы уважать настройки пользователя, а заголовки через clamp() с rem + vw в середине. Для компонентов, которые встречаются и в сайдбаре, и в основной колонке, использую контейнерные запросы: компонент сам знает ширину своего места. Для картинок srcset и sizes, плюс width и height, чтобы не было прыжков вёрстки. Для полноэкранных блоков на телефоне svh или dvh вместо vh. И проверяю на реальном телефоне, а не только в эмуляторе DevTools.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.