Адаптивная вёрстка для мобильных устройств
Десктопная версия отлично выглядит на мониторе, но на мобильном экране — хаос: меню не помещается, кнопки перекрываются, текст вылезает за края, а LCP зашкаливает. Адаптивная вёрстка — не добавление max-width: 100% к изображениям. Это системное проектирование интерфейса, который корректно работает при ширине от 320px до 2560px+, с разными плотностями пикселей, методами ввода (касание vs мышь) и условиями сети. Мы берём на себя реализацию этого под ключ. Получите бесплатную консультацию — мы оценим ваш проект и предложим оптимальный стек. Наши клиенты экономят от 20% до 40% бюджета на разработку за счёт Mobile-first подхода.
Почему стоит выбрать Mobile-first?
Mobile-first — базовые стили пишутся для мобильных, и расширяются через min-width медиазапросы. Альтернатива — Desktop-first с max-width — труднее поддерживать из-за нарастающего переопределения стилей. На практике Mobile-first сокращает время на дебаггинг в 3 раза по сравнению с Desktop-first.
/* Mobile-first: базовые стили для мобильных */ .card-grid { display: grid; grid-template-columns: 1fr; gap: 16px; } @media (min-width: 640px) { .card-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } } @media (min-width: 1024px) { .card-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; } } Выбор правильных точек останова
Точки останова должны определяться контентом, а не устройствами. Нет смысла ориентироваться на конкретные модели iPhone — у каждого нового поколения другие размеры. Типичная система: xs (320px), sm (640px), md (768px), lg (1024px), xl (1280px), 2xl (1536px).
Viewport и единицы измерения
Обязательный мета-тег: <meta name="viewport" content="width=device-width, initial-scale=1.0">. Без него браузер на мобильном рендерит страницу как 980px широкую и масштабирует её — медиазапросы не работают. Детальнее про viewport можно почитать на MDN. Как отмечает Google в своём руководстве: «Мы рекомендуем использовать mobile-first подход» (Google Search Central).
dvh вместо vh для мобильных: vh не учитывает адресную строку браузера, поэтому элемент на 100vh может обрезаться. dvh (dynamic viewport height) меняется при скролле. svh и lvh — фиксированные крайние значения.
Адаптивная типографика
:root { --text-base: clamp(1rem, 0.85rem + 0.75vw, 1.125rem); --text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.375rem); --text-xl: clamp(1.375rem, 1rem + 1.875vw, 2rem); --text-2xl: clamp(1.75rem, 1.25rem + 2.5vw, 2.75rem); --text-3xl: clamp(2rem, 1.25rem + 3.75vw, 3.5rem); } clamp(min, preferred, max) позволяет шрифту плавно масштабироваться между min и max в зависимости от ширины экрана.
Touch targets и навигация
На мобильных кликабельная область должна быть не менее 44×44px (Apple HIG) или 48×48px (Google Material). Визуальный размер может быть меньше, зону касания увеличивают через ::before с inset: -12px. Для мобильной навигации используем hamburger-меню с правильными aria-атрибутами и transition.
Адаптивные изображения
<picture> <source media="(min-width: 1024px)" srcset="hero-desktop.webp 1440w, hero-desktop-2x.webp 2880w" sizes="100vw"> <source media="(min-width: 640px)" srcset="hero-tablet.webp 768w, hero-tablet-2x.webp 1536w"> <img src="hero-mobile.webp" srcset="hero-mobile.webp 390w, hero-mobile-2x.webp 780w" alt="Адаптивная версия Hero-изображения" width="390" height="520" loading="eager" fetchpriority="high"> </picture> sizes говорит браузеру, какую долю экрана займёт изображение — позволяет выбрать правильный файл до загрузки CSS.
Как создать адаптивную вёрстку? (Пошаговое руководство)
- Анализ макетов: Определите ключевые состояния интерфейса для разных ширин.
-
Настройка viewport: Добавьте мета-тег viewport с
width=device-width, initial-scale=1.0. - Mobile-first стили: Напишите базовые стили для минимальной ширины (320px).
- Медиазапросы: Добавьте
min-widthдля расширения на бОльшие экраны. - Тестирование: Проверьте на реальных устройствах и в эмуляторах.
За многие годы работы мы накопили опыт в более чем 80 проектах — это позволило отточить процесс до 3 дней для landing page и до 6 дней для корпоративного сайта. Свяжитесь с нами для бесплатной оценки вашего проекта.
Производительность и сравнение подходов
Мобильные сети медленнее. Критично: lazy loading для всего ниже сгиба, font subsetting для кириллицы, CSS containment на секциях. Preload только для критических ресурсов первого экрана. Экономия на поддержке достигает 30% благодаря Mobile-first подходу.
| Характеристика | Mobile-first | Desktop-first |
|---|---|---|
| Размер CSS | меньше (нет сброса) | больше (переопределения) |
| Поддержка | 3x быстрее | медленнее |
| Производительность на мобильных | выше (меньше кода) | ниже |
Пример fluid-сетки на Grid
.container { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; } Этот подход автоматически подстраивает количество колонок под ширину контейнера.
Что входит в нашу работу
Мы проводим аудит текущей десктопной версии и адаптируем её под мобильные. Реализуем Mobile-first вёрстку с медиазапросами и fluid-сетками. Настраиваем адаптивную навигацию (hamburger-меню, тач-зоны). Оптимизируем изображения через responsive images и lazy loading. Настраиваем типографику с помощью clamp(). Тестируем на реальных устройствах (iOS, Android, планшеты). Передаём документацию по breakpoints и используемым техникам. Оказываем поддержку — фиксы по результатам тестирования. Снижение затрат на разработку в долгосрочной перспективе — ещё одно преимущество такого подхода.
Сроки
| Тип работы | Время |
|---|---|
| Адаптация готовой десктопной вёрстки | 1–2 дня |
| Mobile-first landing page | 2–3 дня |
| Mobile-first корпоративный сайт | 4–6 дней |
Стоимость рассчитывается индивидуально после оценки объёма — свяжитесь с нами, чтобы обсудить детали. Мы оценим ваш проект бесплатно.







