Отзывчивая верхняя часть сайта – не роскошь, а необходимость. Если меню «плывет» на мобильных устройствах или растягивается на широких мониторах, пользователи просто уйдут. Вот проверенный способ исправить это за 15 минут.
Используйте flexbox для разметки. Контейнер с display: flex и justify-content: space-between автоматически распределит логотип и пункты навигации. Добавьте @media-запросы – при ширине меньше 768px переключайте направление на вертикальное и скрывайте второстепенные элементы.
Проблема с резиновыми блоками? Задайте max-width: 1200px для основного контейнера и width: 100%. Так хедер будет плавно сужаться на планшетах, но не превратится в узкую полосу на 4K-экранах. Для пунктов меню примените vw-единицы вместо фиксированных пикселей – текст масштабируется пропорционально окну браузера.
Как сделать резиновый хедер: быстрый старт
Начни с разметки – вот базовая структура:
<header class="header"> <div class="logo">SITE</div> <nav class="nav"> <a href="#">Главная</a> <a href="#">Услуги</a> <a href="#">Контакты</a> </nav> <button class="menu-toggle">☰</button> </header>
Добавь эти стили, чтобы меню подстраивалось под экран:
.header {
display: flex;
justify-content: space-between;
padding: 15px 5%;
background: #2c3e50;
}
.nav a {
color: white;
margin-left: 20px;
text-decoration: none;
}
.menu-toggle {
display: none;
background: none;
border: none;
color: white;
font-size: 24px;
}
@media (max-width: 768px) {
.nav {
display: none;
}
.menu-toggle {
display: block;
}
}
Три фишки для идеальной отзывчивости:
| 1. Гибкие единицы | Используй % или vw вместо px для ширины |
| 2. Медиазапросы | Ломай вёрстку в трёх точках: 1200px, 768px, 480px |
| 3. Mobile-first | Пиши стили сначала для мобилок, потом добавляй десктопные |
Попробуй добавить плавность – transition: all 0.3s для кнопок и ссылок. Это сразу сделает интерфейс живым!
Подготовка HTML-разметки для шапки
Что должно быть внутри?
- Логотип – используй
<a href="/">с изображением или текстом внутри. - Навигация – помести ссылки в список
<ul>с классом, например,menu. - Кнопка для мобильной версии – добавь
<button>с иконкой гамбургера.
Пример кода:
<header class="header">
<a href="/" class="logo">Sitename</a>
<nav>
<ul class="menu">
<li><a href="#">Главная</a></li>
<li><a href="#">Услуги</a></li>
</ul>
</nav>
<button class="menu-toggle" aria-label="Открыть меню">☰</button>
</header>
Важно: для резиновой верстки избегай фиксированных размеров. Ширину логотипа задавай в max-width, а пункты меню – через flex или grid.
Теперь можно переходить к оформлению – этот каркас легко адаптируется под любые экраны!
Стилизация хедера базовыми CSS-правилами
.header {
background: #fff;
border-bottom: 1px solid #eee;
padding: 15px 0;
}
Резиновые блоки внутри хедера
- Используйте flexbox для выравнивания элементов. Логотип слева, меню справа – классика:
.header {
display: flex;
justify-content: space-between;
align-items: center;
}
- Ширину внутренних блоков ставьте в процентах, например 30% / 70%. Так верстка не сломается при изменении экрана.
Отзывчивость без медиазапросов
Попробуйте относительные единицы для шрифтов и отступов:
.logo {
font-size: clamp(1rem, 3vw, 1.5rem);
}
.nav-item {
margin-left: 2vw;
}
Если элементы начинают наезжать друг на друга – добавьте минимальные отступы:
@media (max-width: 768px) {
.header {
flex-wrap: wrap;
gap: 10px;
}
}
Добавление адаптивности через медиазапросы
Шаг 1: Определите брейкпоинты. Для резинового хедера проверьте статистику разрешений вашей аудитории. Обычно хватает трёх точек: 1200px (ноутбуки), 768px (планшеты), 480px (смартфоны). Например:
@media (max-width: 768px) {
.header { padding: 10px; }
.menu { flex-direction: column; }
}
Меню для мобильных – просто и функционально. На экранах меньше 480px замените горизонтальное меню на «бургер». Скрывайте второстепенные пункты, оставляя ключевые:
@media (max-width: 480px) {
.nav-list { display: none; }
.burger-icon { display: block; }
}
Резиновые блоки вместо фиксированных. Замените px на % или vw для ширины элементов. Логотип в отзывчивой верстке лучше масштабировать через max-width:
.logo {
max-width: 180px;
width: 100%;
}
Совет: Тестируйте на реальных устройствах. Chrome DevTools – хороший старт, но старый iPhone может показать неожиданные баги.
Нужен контент для лендинга? Купить статью на тему: Свадьба – готовая SEO-оптимизированная работа с живыми примерами.
Создание выпадающего меню для мобильных устройств
Главное правило: хедер должен быть резиновым и отзывчивым. Если на десктопе пункты меню умещаются в одну строку, то на смартфонах их лучше скрыть за гамбургер-иконкой.
Вот рабочий вариант разметки:
<nav class="mobile-nav">
<button class="menu-toggle" aria-label="Открыть меню">☰</button>
<ul class="dropdown-content">
<li><a href="#">Главная</a></li>
<li><a href="#">Услуги</a></li>
<li><a href="https://textlog.ru/kupit-statyu-nedorogo/">Заказать статью недорого</a></li>
</ul>
</nav>
Для адаптации добавь такие стили:
.mobile-nav {
display: flex;
justify-content: flex-end;
}
.dropdown-content {
display: none;
position: absolute;
background: #fff;
width: 100%;
}
.menu-toggle:focus + .dropdown-content,
.dropdown-content:hover {
display: block;
}
Важно: не забудь про media-запросы. Например, скрывай гамбургер на широких экранах и показывай обычное меню:
@media (min-width: 768px) {
.menu-toggle { display: none; }
.dropdown-content {
display: flex;
position: static;
}
}
Если нужна плавная анимация, используй transform вместо display. Так верстка будет выглядеть профессиональнее.
Оптимизация шапки под разные устройства
Используйте резиновые единицы измерения (%, vw, rem) вместо фиксированных пикселей – так хедер будет плавно сжиматься на узких экранах. Например, задайте ширину контейнера меню как max-width: 90vw, а отступы – padding: 2rem 5%.
Гибкость элементов
Для навигации примените flexbox или grid с flex-wrap: wrap. Логотип и кнопки автоматически перестроятся в столбец на мобильных устройствах. Проверьте: если пункты меню не помещаются – замените их на бургер-иконку с @media (max-width: 768px).
Контрольные точки
Добавьте минимум три медиазапроса: 1200px (планшеты в альбомной ориентации), 768px (вертикальные планшеты), 480px (смартфоны). В каждом пропишите:
- Размер шрифта (уменьшайте на малых экранах)
- Скрытие второстепенных элементов (например, номер телефона)
- Изменение высоты хедера с
min-height
Тестируйте вёрстку в Chrome DevTools, перетаскивая границы окна. Если контент прыгает или наезжает – добавьте overflow-x: hidden для body.
Тестирование и финальные правки верстки
Проверь резиновый хедер на разных устройствах – от 320px до 4K. Если меню «плывёт» или элементы наезжают друг на друга, добавь max-width и overflow-x: hidden в основной контейнер.
Убедись, что кнопки и ссылки кликабельны на мобильных экранах. Минимальная зона касания – 48×48px. Если текст в пунктах меню переносится криво, задай white-space: nowrap или сократи названия.
Протестируй отзывчивый дизайн в Chrome DevTools, но не останавливайся на этом. Реальные телефоны показывают баги, которые эмулятор пропускает. Особенно часто ломается выпадающее меню при повороте экрана.
Подгрузи шрифты через @font-face с форматами WOFF2 и WOFF. Если текст дергается при загрузке, пропиши font-display: swap. Размеры заголовков должны оставаться читаемыми даже на smartwatch.
Добавь фокус-стили для интерактивных элементов: a:focus-visible { outline: 2px solid #4d90fe; }. Это спасёт пользователей, которые navigate клавиатурой.
Прогони вёрстку через валидатор W3C – незакрытые теги или дубликаты ID ломают структуру. Проверь, как хедер выглядит при увеличении шрифта в настройках браузера на 200%.
Если используется position: fixed для меню, проверь z-index. Выпадающие списки должны перекрывать контент, но не попадать под модальные окна.
Хочешь купить статьи дешево для сайта и блога? Перейти в магазин статей






