Адаптивный дизайн (Responsive Design) — подход к созданию сайтов, при котором интерфейс автоматически подстраивается под размер экрана устройства. Один набор HTML и CSS корректно отображается на смартфоне, планшете, ноутбуке и мониторе.
По данным на 2025 год, 63% всех посещений сайтов приходит с мобильных устройств. Google с 2019 года использует mobile-first индексацию — оценивает мобильную версию сайта в первую очередь при расчёте позиций. Сайт без адаптивного дизайна получает более низкие позиции в поиске и теряет большую часть аудитории.
Адаптивный дизайн, мобильная версия и приложение — в чём разница
| Подход | Принцип | Актуальность |
|---|---|---|
| Адаптивный дизайн | Один сайт для всех устройств, единая кодовая база | Рекомендуется в 2026 |
| Отдельная мобильная версия (m.site.com) | Два отдельных сайта, две кодовые базы | Устаревший подход, риск дублирования контента |
| Мобильное приложение | Нативное приложение для iOS и Android | Дополняет сайт, не заменяет его |
Адаптивный дизайн предпочтителен для SEO: один URL для всех устройств исключает дублирование контента и концентрирует ссылочный вес на одной странице.
Основные принципы адаптивного дизайна
1. Гибкая сетка
Элементы сайта используют относительные единицы измерения (проценты, em, rem, vw, vh) вместо фиксированных пикселей. Контент плавно масштабируется под ширину экрана.
/* Фиксированная ширина — плохо */
.container {
width: 1200px;
}
/* Гибкая ширина — правильно */
.container {
width: 90%;
max-width: 1200px;
margin: 0 auto;
}
2. Гибкие изображения
Изображения масштабируются в рамках контейнера и не выходят за его пределы.
img {
max-width: 100%;
height: auto;
}
3. Медиа-запросы
Медиа-запросы применяют разные стили CSS в зависимости от ширины экрана, ориентации устройства или разрешения.
/* Мобильные (базовые стили) */
.element {
font-size: 14px;
padding: 10px;
}
/* Планшеты */
@media (min-width: 768px) {
.element {
font-size: 16px;
padding: 20px;
}
}
/* Десктопы */
@media (min-width: 1024px) {
.element {
font-size: 18px;
padding: 25px;
}
}
4. Mobile-First подход
Разработка начинается с мобильной версии — минимального набора стилей для маленького экрана. Для больших экранов добавляются расширения через медиа-запросы с min-width. Этот подход называется прогрессивным улучшением (progressive enhancement).
Преимущества Mobile-First: фокус на главном контенте, меньше CSS-кода загружается на мобильных, соответствие требованиям Google.
5. Гибкая типографика
Современный подход — функция clamp(), которая задаёт минимальный, предпочтительный и максимальный размер шрифта одновременно:
h1 {
/* Минимум 24px, идеал 5vw, максимум 48px */
font-size: clamp(24px, 5vw, 48px);
}
p {
font-size: clamp(14px, 1rem, 18px);
line-height: 1.6;
}
6. Адаптивная навигация
На мобильных горизонтальное меню скрывается и заменяется компактным вариантом. Основные типы мобильной навигации: гамбургер-меню (скрытое боковое меню), bottom navigation (панель внизу экрана), tab bar (вкладки для основных разделов), полноэкранное меню.
Технические аспекты

Viewport meta-тег
Обязательный элемент в <head> любого адаптивного сайта:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Без этого тега браузер на мобильном отображает страницу как уменьшенную копию десктопной версии.
CSS-раскладки: Flexbox и Grid
Flexbox — для одномерных раскладок (строки или столбцы):
.container {
display: flex;
flex-wrap: wrap;
gap: 20px;
}
.item {
flex: 1 1 300px;
}
CSS Grid — для двумерных раскладок. Вариант с auto-fit создаёт адаптивную сетку без медиа-запросов:
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}
Container Queries — технология 2024–2025 года. Стилизует элементы в зависимости от размера контейнера, а не всего экрана:
.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card {
display: grid;
grid-template-columns: 1fr 2fr;
}
}
Адаптивные изображения
Атрибут srcset загружает разные версии изображения в зависимости от ширины экрана:
<img
src="image-800.jpg"
srcset="image-400.jpg 400w,
image-800.jpg 800w,
image-1200.jpg 1200w"
sizes="(max-width: 600px) 400px,
(max-width: 1200px) 800px,
1200px"
alt="Описание изображения"
>
Элемент <picture> позволяет подавать разные форматы с фолбэком:
<picture>
<source type="image/avif" srcset="image.avif">
<source type="image/webp" srcset="image.webp">
<img src="image.jpg" alt="Описание">
</picture>
Производительность
Lazy loading — изображения загружаются только при появлении в области видимости:
<img src="image.jpg" loading="lazy" alt="Описание">
Критический CSS встраивается в HTML для ускорения отображения первого экрана:
<style>
body { margin: 0; font-family: sans-serif; }
.header { background: #333; color: white; }
</style>
<link rel="stylesheet" href="styles.css" media="print" onload="this.media='all'">
Точки останова (Breakpoints)
Стандартные значения
| Breakpoint | Устройства |
|---|---|
| 320px | Минимальный размер, старые смартфоны |
| 375–414px | Современные смартфоны (iPhone SE, iPhone 14, Samsung Galaxy) |
| 768px | Планшеты в портретной ориентации (iPad) |
| 1024px | Планшеты в ландшафтной ориентации, небольшие ноутбуки |
| 1280–1440px | Десктопы и большие мониторы |
| 1920px | Full HD мониторы |
Контентно-ориентированные breakpoints
Лучшая практика — определять точки останова не по устройствам, а по поведению контента. Ширину окна браузера постепенно увеличивают от мобильного размера. Когда дизайн начинает «ломаться» — добавляют breakpoint и корректируют стили.
Обратите внимание. Ориентация на конкретные модели устройств ненадёжна — модельный ряд постоянно меняется. Правило «добавляй breakpoint там, где контент требует» даёт более устойчивый результат.
UX-принципы адаптивного дизайна
Касаемые элементы
Кнопки и ссылки на мобильных должны быть достаточно большими для нажатия пальцем. Минимальный размер по рекомендациям Apple — 44×44 пикселя, по рекомендациям Google — 48×48 пикселей. Расстояние между элементами — минимум 8–10 пикселей.
button {
min-width: 44px;
min-height: 44px;
padding: 12px 24px;
margin: 8px;
}
button:active {
background-color: #ddd;
transform: scale(0.98);
}
Читабельность текста
Минимальный размер основного текста на мобильных — 16px. При меньшем значении iOS автоматически масштабирует страницу при фокусе на полях ввода. Межстрочное расстояние основного текста — 1.5–1.8, заголовков — 1.2–1.4. Оптимальная ширина строки — 50–75 символов.
body {
font-size: 16px;
line-height: 1.6;
}
.content {
max-width: 70ch;
}
Формы на мобильных
Правильные типы input открывают соответствующую клавиатуру:
<input type="email"> <!-- клавиатура с символом @ -->
<input type="tel"> <!-- цифровая клавиатура -->
<input type="number"> <!-- числовая клавиатура -->
<input type="date"> <!-- системный выбор даты -->
Поля ввода должны иметь font-size не менее 16px — это предотвращает автоматическое масштабирование на iOS:
input, textarea, select {
font-size: 16px;
padding: 12px;
width: 100%;
}
Ориентация устройства
Дизайн должен корректно работать в обоих ориентациях. В ландшафтной ориентации на смартфоне уменьшают высоту шапки и отступы:
@media (orientation: landscape) and (max-width: 768px) {
.header {
height: 60px;
}
.content {
padding: 10px;
}
}
Hover-эффекты
Hover не работает на touch-устройствах. Стили разделяют по типу устройства:
@media (hover: hover) {
.button:hover {
background-color: #ddd;
}
}
@media (hover: none) {
.button:active {
background-color: #ddd;
}
}
Типичные ошибки адаптивного дизайна
| Ошибка | Последствие | Решение |
|---|---|---|
| Отсутствие viewport meta-тега | Сайт отображается как уменьшенная копия десктопа | Добавить <meta name=»viewport»> |
| Фиксированная ширина контейнера в пикселях | Горизонтальная прокрутка на мобильных | Заменить на max-width + проценты |
| Кнопки меньше 44×44 пикселей | Невозможно нажать пальцем | Задать min-width и min-height |
| Шрифт менее 16px на мобильных | Автомасштабирование iOS, нечитаемый текст | font-size: 16px для полей, 14px+ для текста |
| Тяжёлые изображения без srcset | Медленная загрузка на мобильном интернете | srcset, WebP/AVIF, lazy loading |
| Скрытие важного контента на мобильных | Потеря контента при mobile-first индексации | Адаптировать представление, не удалять контент |
| Тестирование только в браузере на ПК | Незамеченные ошибки на реальных устройствах | Тестировать на реальных iOS и Android устройствах |
| Горизонтальная прокрутка | Сломанный UX, негативные поведенческие сигналы | overflow-x: hidden на body, max-width: 100% |
Адаптивный дизайн и SEO
Адаптивность влияет на ранжирование через несколько механизмов.
- Mobile-first индексация. Google оценивает мобильную версию сайта при расчёте позиций. Контент, скрытый на мобильных через display:none или visibility:hidden, не учитывается при индексации.
- Core Web Vitals. Метрики пользовательского опыта от Google, которые входят в факторы ранжирования с 2021 года:
| Метрика | Что измеряет | Хорошее значение |
|---|---|---|
| LCP (Largest Contentful Paint) | Скорость загрузки основного контента | до 2.5 сек |
| INP (Interaction to Next Paint) | Отклик на взаимодействие пользователя | до 200 мс |
| CLS (Cumulative Layout Shift) | Стабильность визуального контента | до 0.1 |
- Поведенческие факторы. Неадаптивные сайты имеют высокий показатель отказов, низкое время на сайте и быстрый возврат в выдачу. Яндекс и Google используют эти сигналы при ранжировании.
- Единый URL. Адаптивный дизайн использует один URL для всех устройств — нет дублирования контента, весь ссылочный вес концентрируется на одной странице.
Для проверки адаптивности с точки зрения SEO используют: Google Mobile-Friendly Test (search.google.com/test/mobile-friendly), раздел «Удобство для мобильных» в Google Search Console, PageSpeed Insights для анализа Core Web Vitals.
Инструменты
CSS-фреймворки
| Фреймворк | Подход | Когда использовать |
|---|---|---|
| Bootstrap | Компонентный, 12-колоночная сетка | Быстрый старт, стандартные интерфейсы |
| Tailwind CSS | Utility-first | Кастомные дизайны, гибкость важнее скорости старта |
| Bulma | Flexbox-based, только CSS | Простые проекты без JavaScript-зависимостей |
| Foundation | Профессиональный, расширенные возможности | Крупные корпоративные проекты |
Инструменты разработки и тестирования
| Инструмент | Назначение | Стоимость |
|---|---|---|
| Chrome DevTools | Device Mode, симуляция устройств, Lighthouse | Бесплатно |
| Firefox Developer Tools | Grid Inspector, Flexbox Inspector | Бесплатно |
| Google PageSpeed Insights | Core Web Vitals, рекомендации | Бесплатно |
| Google Mobile-Friendly Test | Проверка мобильной версии для SEO | Бесплатно |
| BrowserStack | Тестирование на реальных устройствах | от $29/мес |
| LambdaTest | Облачное тестирование, 3000+ комбинаций | от $15/мес |
| Responsinator | Быстрая проверка на популярных устройствах | Бесплатно |
Инструменты дизайна
- Figma — наиболее распространённый инструмент в 2025 году. Поддерживает Auto Layout для адаптивных макетов и Constraints для правил масштабирования элементов. Бесплатен для личного использования.
- Adobe XD — Responsive Resize для автоматической адаптации макетов.
- Sketch — популярен среди Mac-пользователей, только macOS, $99/год.
Тестирование адаптивного дизайна
Чеклист тестирования
Визуальная проверка:
- Все элементы видны и не обрезаются на любом размере экрана.
- Отсутствует горизонтальная прокрутка.
- Изображения масштабируются без деформации.
- Шрифты читабельны без масштабирования страницы.
- Отступы и выравнивание корректны на всех breakpoints.
Функциональная проверка:
- Кнопки и ссылки кликабельны без промахов на мобильных.
- Формы работают, правильная клавиатура открывается под каждое поле.
- Навигация удобна — пункты меню доступны, текущий раздел выделен.
- Touch-жесты работают там, где ожидаются.
- Всплывающие окна не блокируют весь экран на мобильных.
Производительность:
- Скорость загрузки — менее 3 секунд на 4G.
- LCP менее 2.5 сек, INP менее 200 мс, CLS менее 0.1.
- Изображения сжаты и используют современные форматы.
- CSS и JavaScript минифицированы.
Минимальный набор реальных устройств для тестирования: iPhone с актуальной версией iOS (Safari), Android-смартфон (Chrome), iPad (для планшетного breakpoint), десктоп с разными разрешениями окна.
Важно. Chrome DevTools Device Mode симулирует размер экрана, но не воспроизводит реальное поведение браузера на iOS. Финальное тестирование на реальном iPhone необходимо — особенно для форм, автомасштабирования и жестов.
Тренды адаптивного дизайна 2025
- Container Queries. Стилизация элементов на основе размера родительского контейнера вместо размера viewport. Позволяет создавать по-настоящему модульные компоненты, которые адаптируются независимо от места размещения на странице.
- CSS Subgrid. Вложенные элементы используют сетку родителя. Упрощает выравнивание в сложных раскладках без дополнительных обёрток.
- Variable Fonts. Один файл шрифта содержит весь диапазон начертаний. Снижает количество запросов и позволяет плавно менять вес и ширину через CSS-переменные.
- Dark Mode. Автоматическое переключение на тёмную тему через медиа-запрос prefers-color-scheme.
- Accessibility First. Доступность перестаёт быть опциональной. WCAG 2.2 — актуальный стандарт: семантический HTML, ARIA-атрибуты, клавиатурная навигация, совместимость со скринридерами, достаточный цветовой контраст.
- Progressive Web Apps (PWA). Веб-приложения с нативным поведением: работа офлайн через Service Worker, установка на главный экран, push-уведомления, быстрая загрузка через кэширование.
Чеклист адаптивного дизайна
Базовая техническая настройка:
- Добавить <meta name=»viewport»> в <head>.
- Все контейнеры — процентная или относительная ширина с max-width.
- Изображения — max-width: 100%, height: auto.
- Базовый размер шрифта — 16px.
Медиа-запросы и breakpoints:
- Реализовать Mobile-First подход — базовые стили для мобильных, расширения через min-width.
- Определить breakpoints на основе поведения контента, не устройств.
- Проверить все основные диапазоны: 320–767px, 768–1023px, 1024px+.
UX на мобильных:
- Кнопки и ссылки — минимум 44×44 пикселей.
- Расстояние между касаемыми элементами — минимум 8 пикселей.
- Навигация работает на мобильных — гамбургер или альтернативное решение.
- Формы — правильные типы input, font-size полей не менее 16px.
Производительность:
- Изображения — WebP или AVIF, srcset для адаптивной загрузки, lazy loading.
- CSS и JavaScript минифицированы.
- Критический CSS встроен в HTML.
- Core Web Vitals в зелёной зоне по PageSpeed Insights.
Тестирование:
- Проверить в Chrome DevTools на стандартных разрешениях.
- Протестировать на реальном iPhone (Safari) и Android-смартфоне (Chrome).
- Запустить Google Mobile-Friendly Test.
- Проверить PageSpeed Insights для мобильной версии.
Комментарии скоро откроются. А пока — пишите нам в Telegram-канал.