Разбираем причины, по которым один и тот же мобильный сайт может выглядеть нормально на одном устройстве и ломаться на другом.
Сайт должен быть не просто опубликован — он должен последовательно решать задачу пользователя и бизнеса.
Эмулятор не повторяет каждый телефон
Режим мобильного устройства в браузере полезен, но реальные смартфоны отличаются экраном, браузером, масштабированием, системными панелями и кешем.
1. Разная ширина viewport
Физический размер экрана и CSS-ширина не совпадают. Даже несколько десятков пикселей могут изменить переносы и сетку.
- зафиксировать текущую задачу;
- проверить пользовательский сценарий;
- оценить технические ограничения;
- определить измеримый результат.
2. Браузерные панели
Адресная строка и нижняя навигация меняют доступную высоту. Значения 100vh на мобильных могут вести себя неожиданно.
3. Safe area
Телефоны с вырезами и скруглениями требуют учёта безопасных отступов через env(safe-area-inset-*).
4. Минимальная ширина элементов
Кнопка, поле, таблица или длинная строка могут незаметно растянуть контейнер и создать горизонтальный скролл.
5. CSS Grid и Flexbox
Колонки с min-width, фиксированные gap и отсутствие min-width:0 часто вызывают сжатие текста или выход блоков за экран.
6. Шрифты и переносы
Загрузка другого начертания, системный размер текста и особенности рендеринга меняют ширину строк.
7. Кеш браузера
Телефон может продолжать использовать старый CSS после обновления сайта. Проверка в инкогнито или очистка кеша помогает исключить эту причину.
8. Реальное тестирование
Проверяют ширины 320–430 px, Android и iOS, разные браузеры, горизонтальный скролл, формы, меню, карточки и подвал.
Итог
Стабильная адаптивность достигается не одним media query, а системой гибких размеров, безопасных ограничений и тестов на реальных устройствах.
РАЗРАБОТКА / WEBTORA
Нужно решить задачу сайта системно?
Разберём проект, предложим структуру и определим следующий шаг.