Как делать11 октября 2026 г.5 мин чтения
Вёрстка: HTML и CSSШаг 4 из 7

Адаптивный дизайн: как сайт подстраивается под телефон

Коротко

Адаптивный (responsive) дизайн — это когда одна и та же страница перестраивает сетку, размеры текста и картинок под ширину экрана: на компьютере колонки стоят рядом, на телефоне — друг под другом. Работает это за счёт тега viewport, гибкой сетки и CSS-правил для разных ширин (брейкпоинтов). Проверять результат нужно не только в эмуляторе браузера, но и на реальных телефонах.

ОсновыУровень: НачальныйАдаптивный дизайн

После материала вы сможете

  • объяснить, зачем нужен тег viewport и как брейкпоинты и гибкая сетка меняют раскладку
  • спроектировать страницу по принципу mobile-first: главное действие, одна колонка, затем расширение
  • задать области нажатия по ориентирам WCAG (24 и 44 CSS-пикселя), Apple (44 pt) и web.dev (48)
  • проверить сайт по чек-листу типичных адаптивных багов на реальных телефонах
Содержание
  1. 01Что такое адаптивный дизайн и почему без него нельзя
  2. 02Mobile-first: почему начинают с телефона
  3. 03Viewport, брейкпоинты и гибкие сетки
  4. 04Пальцы вместо курсора: размеры кнопок
  5. 05Картинки и текст на маленьком экране
  6. 06Типичные баги и как проверять сайт

Что такое адаптивный дизайн и почему без него нельзя

Раньше для телефонов часто делали отдельную мобильную версию сайта на поддомене вроде m.site.kz. Сегодня стандартный подход — адаптивный дизайн (responsive design): один сайт, один адрес, один код, а раскладка меняется в зависимости от ширины экрана. Меню сворачивается в бургер, три колонки карточек становятся одной, крупные иллюстрации заменяются более лёгкими.

Отдельная мобильная версия

  • Два сайта, которые нужно поддерживать параллельно
  • Контент на версиях со временем начинает расходиться
  • Нужна переадресация между адресами
  • Планшеты попадают то в одну версию, то в другую

Адаптивный сайт

  • Один адрес и одно содержимое для всех устройств
  • Правка текста сразу видна везде
  • Раскладка плавно подстраивается под любую ширину
  • Проще поддерживать и развивать

Mobile-first: почему начинают с телефона

Mobile-first — подход, при котором страницу сначала проектируют и верстают для узкого экрана, а потом расширяют для планшета и компьютера. Узкий экран заставляет решить главное: что действительно важно, какая кнопка основная, без чего можно обойтись. Расширять простую раскладку легче, чем ужимать перегруженную.

  1. Определить главное действие

    Что посетитель с телефона должен сделать в первую очередь: позвонить, написать в мессенджер, записаться.

  2. Собрать раскладку в одну колонку

    Блоки идут друг под другом в порядке важности, главная кнопка — в зоне досягаемости большого пальца.

  3. Добавить брейкпоинты

    Там, где контенту становится просторно, колонки выстраиваются рядом, появляется полное меню.

  4. Проверить на реальных устройствах

    Пройти ключевые сценарии на нескольких телефонах и в разных браузерах, а не только в эмуляторе.

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

Viewport, брейкпоинты и гибкие сетки

Первое, без чего адаптивность не заработает, — тег viewport в коде страницы: <meta name="viewport" content="width=device-width, initial-scale=1">. Без него мобильный браузер отрисовывает страницу на виртуальном холсте шириной с компьютерный экран (MDN приводит пример в 980px) и уменьшает её — текст становится мелким, а правила для узких экранов не срабатывают.

Брейкпоинт (breakpoint, точка перелома) — ширина экрана, на которой раскладка меняется. Хорошая практика — ставить брейкпоинты там, где «ломается» контент, а не под конкретные модели телефонов: устройств слишком много, и их размеры постоянно меняются. Между брейкпоинтами работает гибкая (резиновая) сетка: ширины задаются в процентах и долях, а не в фиксированных пикселях.

Узкий экран — телефон

Что обычно меняется
Одна колонка, бургер-меню, крупные кнопки, упрощённые иллюстрации

Средний — большой телефон в горизонтали, планшет

Что обычно меняется
Две колонки карточек, часть меню возвращается в шапку

Широкий — ноутбук и компьютер

Что обычно меняется
Полное меню, три-четыре колонки, боковые панели

Очень широкий монитор

Что обычно меняется
Контент ограничен максимальной шириной, чтобы строки не растягивались
Пример набора диапазонов — не стандарт, а ориентир; в каждом проекте их подбирают по контенту.

Пальцы вместо курсора: размеры кнопок

Курсор мыши точный, палец — нет. Поэтому у кнопок и ссылок на телефоне должна быть достаточная площадь нажатия (touch target) и расстояние между ними. Ориентиры дают официальные руководства:

24

CSS-пикселя — минимальный размер цели по WCAG 2.2, критерий 2.5.8 (уровень AA), с исключениями

44

CSS-пикселя — усиленный критерий WCAG 2.5.5 (AAA); Apple для iOS рекомендует 44×44 pt

48

независимых от плотности пикселей — рекомендуемый минимум по web.dev

По нашему опыту, самые частые проблемные места — иконки соцсетей в подвале, крестики закрытия окон и ссылки в мелком тексте: визуально они маленькие, и область нажатия у них нужно расширять отступами, даже если сам значок остаётся небольшим.

Картинки и текст на маленьком экране

Картинка, рассчитанная на широкий монитор, на телефоне весит столько же, но показывается в несколько раз меньше. Адаптивные изображения решают это: браузер сам выбирает подходящий по размеру файл.

  • Атрибуты srcset и sizes дают браузеру несколько версий одной картинки разной ширины — он скачивает подходящую
  • Элемент <picture> позволяет показать на телефоне другую кадрировку: например, крупный план вместо широкой панорамы
  • Современные форматы WebP и AVIF при том же качестве обычно легче JPEG и PNG
  • У каждой картинки указаны ширина и высота — тогда страница не «прыгает», пока изображение грузится
  • Картинки ниже первого экрана загружаются лениво (loading="lazy")
  • Текст набран размером, который читается без увеличения, а строки не уходят за край экрана

С текстом действует похожее правило. Размеры шрифта и отступы удобнее задавать в относительных единицах (rem, проценты, единицы ширины экрана) — тогда они масштабируются вместе с экраном и уважают настройки пользователя, если тот увеличил шрифт в системе. Заголовок, который на компьютере выглядит эффектно в 72 пикселя, на телефоне должен уменьшаться, иначе одно слово займёт целую строку и начнёт переноситься по слогам.

Типичные баги и как проверять сайт

Режим устройств в Chrome DevTools удобен для быстрой проверки, но он не заменяет реальный телефон: эмулятор не передаёт ощущение от нажатия пальцем, поведение экранной клавиатуры, особенности мобильного Safari и медленную мобильную сеть. Перед запуском страницу стоит пройти руками хотя бы на одном iPhone и одном Android.

Самый частый баг, который мы видим при аудите чужих сайтов, — горизонтальная прокрутка: какой-то один элемент (таблица, длинная ссылка, широкая картинка или анимированный блок) оказывается шире экрана, и вся страница начинает сдвигаться вбок. Второй по частоте — формы, у которых экранная клавиатура закрывает поле ввода или кнопку отправки.

  • Нет горизонтальной прокрутки: страница не «ездит» вбок при свайпе
  • Текст читается без увеличения, длинные слова и ссылки не вылезают за край
  • Кнопки и ссылки легко нажимаются пальцем и не стоят вплотную друг к другу
  • Всё, что открывалось наведением, работает по нажатию
  • Экранная клавиатура не закрывает поле формы и кнопку отправки
  • Липкая шапка и всплывающие окна не занимают половину экрана
  • Телефон в контактах кликабелен и сразу открывает звонок
  • Страница проверена в горизонтальной ориентации и на планшете
Адаптивный сайт — это не уменьшенная копия десктопа, а та же страница, заново продуманная для человека с телефоном в одной руке.
Расскажите о задаче — мы изучим запрос и свяжемся с вами

Есть задача?
Обсудим и оценим — бесплатно.

Расскажите о продукте или проблеме. Предложим архитектуру, срок и стоимость первой версии после изучения задачи.

  • Оценка объёма и рисков до старта
  • NDA — по вашему или нашему шаблону
  • Старт работ в течение недели

Не присылайте через форму пароли, ключи доступа и исходный код — безопасную передачу доступа обсудим отдельно.

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