Гид по технологиям

Как создать адаптивную навигационную панель только на HTML и CSS

7 min read Веб-разработка Обновлено 02 Jan 2026
Адаптивный navbar на HTML и CSS
Адаптивный navbar на HTML и CSS

Построение адаптивной навигационной панели с помощью только HTML и CSS

Адаптивная навигационная панель (navbar) — ключевой элемент интерфейса, который улучшает пользовательский опыт и демонстрирует навыки веб‑дизайна. Эта инструкция предназначена для начинающих фронтенд‑разработчиков, которые хотят сделать простую, понятную и мобильную навигацию, не прибегая к JavaScript.

Ниже — полное руководство: принципы дизайна, готовая HTML‑структура и CSS‑правила, адаптация под мобильные устройства, советы по доступности, варианты и чек‑листы для быстрой проверки.

Предварительные требования: три ключевых элемента адаптивного navbar

Цель навигации — быстро проводить посетителя к нужному контенту. Продуманный navbar одновременно вызывает любопытство и помогает ориентироваться. При проектировании учитывайте три принципа:

1. Простой

Навигация должна быть ясной и читаемой. Вместо ссылок на каждую страницу сгруппируйте их по основным категориям. При необходимости добавьте выпадающие подменю.

2. Замечаемый

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

3. Адаптивный

По данным Statista, 59.5% населения пользуются интернетом, и 92.6% из них заходят через мобильные устройства. Это подчёркивает важность мобильной навигации: гамбургер‑меню, таб‑бары или плавающие иконки экономят место на экране и упрощают доступ к многослойной структуре.

Советы по выбору паттерна навигации:

  • Если 3–5 разделов — рассмотрите нижний tab bar с иконками.
  • Если много категорий с вложенностями — используйте гамбургер или верхнее меню с выпадающими списками.
  • Для тяжёлого контента верхняя иерархическая навигация должна вести к популярным страницам за 3 клика или меньше.

Построение адаптивной навигации с гамбургер‑меню

Далее мы создадим navbar с помощью HTML и CSS: Flexbox для десктопа и media queries + checkbox‑хак для мобильных устройств.

Итоговая структура включает:

  • Логотип
  • Навигационные ссылки
  • Выпадающее меню
  • Гамбургер (через checkbox‑хак)

Начало: HTML

Ниже — исходная HTML‑разметка для navbar. Скопируйте её в свой файл index.html и подключите style.css.

  
  
  
    
    
    
    
  Document  
  
  
  
    

  
    MUO
                                  
  • Home
  •         
  • About
  •                    Services                        
  • Dropdown 1
  •             
  • Dropdown 2
  •             
  • Dropdown 2
  •             
  • Dropdown 3
  •             
  • Dropdown 4
  •                             
  • Pricing
  •         
  • Contact
  •       
            `

    В этом примере выпадающее меню находится внутри пункта Services. На десктопе можно опустить гамбургер и показать меню горизонтально.

    Начало работы с HTML для navbar

    Применение базовых CSS‑утилит

    Сначала сбросьте стандартные отступы и установите базовые правила — это упростит дальнейшую стилизацию.

            `/* UTILITIES */  
    * {  
      margin: 0;  
      padding: 0;  
      box-sizing: border-box;  
    }  
      
    body {  
      font-family: cursive;  
    }  
      
    a {  
      text-decoration: none;  
    }  
      
    li {  
      list-style: none;  
    }  
    `
        

    Примечание: шрифт cursive в примере — замените на свой фирменный шрифт для консистентности дизайна.

    Стилизация navbar с Flexbox

    Flexbox позволяет легко расположить логотип и меню по краям. Важная деталь: выпадающее меню (.dropdown) по умолчанию скрыто (display: none) и показывается при hover на родителе (.services).

            `/* NAVBAR STYLING STARTS */  
    .navbar {  
      display: flex;  
      align-items: center;  
      justify-content: space-between;  
      padding: 20px;  
      background-color: teal;  
      color: #fff;  
    }  
      
    .nav-links a {  
      color: #fff;  
    }  
      
    /* LOGO */  
    .logo {  
      font-size: 32px;  
    }  
      
    /* NAVBAR MENU */  
    .menu {  
      display: flex;  
      gap: 1em;  
      font-size: 18px;  
    }  
      
    .menu li:hover {  
      background-color: #4c9e9e;  
      border-radius: 5px;  
      transition: 0.3s ease;  
    }  
      
    .menu li {  
      padding: 5px 14px;  
    }  
      
    /* DROPDOWN MENU */  
    .services {  
      position: relative;   
    }  
      
    .dropdown {  
      background-color: rgb(1, 139, 139);  
      padding: 1em 0;  
      position: absolute; /*WITH RESPECT TO PARENT*/  
      display: none;  
      border-radius: 8px;  
      top: 35px;  
    }  
      
    .dropdown li + li {  
      margin-top: 10px;  
    }  
      
    .dropdown li {  
      padding: 0.5em 1em;  
      width: 8em;  
      text-align: center;  
    }  
      
    .dropdown li:hover {  
      background-color: #4c9e9e;  
    }  
      
    .services:hover .dropdown {  
      display: block;  
    }`
        

    Это создаст привычный десктоп‑navbar с выпадающим списком при наведении.

    Navbar для десктопа

    Адаптивная навигация с медиа‑запросами

    На мобильных устройствах мы скрываем основное меню и показываем иконку гамбургера. При помощи checkbox‑хакa можно переключать состояние меню без JavaScript: когда чекбокс отмечен, показываем .menu.

    HTML‑фрагмент (повтор для наглядности):

            `  
        
      
    
      
        MUO
                             ...
            `

    Объяснение механики: input[type=checkbox] скрыт, label представляет иконку гамбургера. Селектор input:checked ~ .menu изменяет видимость меню.

    CSS для мобильного состояния:

            `/* RESPONSIVE NAVBAR MENU STARTS */  
      
    /* CHECKBOX HACK */  
      
    input[type=checkbox] {  
      display: none;  
    }   
      
    /* HAMBURGER MENU */  
    .hamburger {  
      display: none;  
      font-size: 24px;  
      user-select: none;  
    }  
      
    /* APPLYING MEDIA QUERIES */  
    @media (max-width: 768px) {  
     .menu {  
        display:none;  
        position: absolute;  
        background-color:teal;  
        right: 0;  
        left: 0;  
        text-align: center;  
        padding: 16px 0;  
      }  
      
      .menu li:hover {  
        display: inline-block;  
        background-color:#4c9e9e;  
        transition: 0.3s ease;  
      }  
      
      .menu li + li {  
        margin-top: 12px;  
      }  
      
      input[type=checkbox]:checked ~ .menu {  
        display: block;  
      }  
      
      .hamburger {  
        display: block;  
      }  
      
      .dropdown {  
        left: 50%;  
        top: 30px;  
        transform: translateX(35%);  
      }  
      
      .dropdown li:hover {  
        background-color: #4c9e9e;  
      }  
    }  
    `
        

    Результат: на мобильных экранах меню сворачивается в иконку, по клику — разворачивается в колонку.

    Важные практические замечания и доступность

    Важно: hover‑парадигма недоступна для тачевых экранов, поэтому для мобильных нужно обеспечить кликабельность родительских пунктов и явный визуальный индикатор открытого состояния.

    Accessibility (A11y):

    Мини‑сниппет доступности (пример для триггера выпадающего меню):

    При открытии меню обновляйте aria‑expanded=”true”. Если вы хотите полностью без JS, можно использовать checkbox‑контролируемые aria‑состояния через преследование input, но для сложных кейсов всё же удобнее управлять состоянием через минимальный JS.

    Когда такой подход не подходит (примеры)

    Альтернативные подходы

    Мини‑методология: как планировать navbar за 30 минут

    1. Составьте список основных разделов (не более 7).
    2. Решите мобильный паттерн: гамбургер или tab bar.
    3. Создайте простую HTML‑структуру с семантикой.
    4. Стилизуйте Flexbox + цветовую схему.
    5. Добавьте медиа‑запросы и тестируйте на реальных устройствах.
    6. Проведите базовый аудит доступности и скорости.

    Чек‑лист по ролям

    Решение: выбрать паттерн (локальный план)

    flowchart TD
      A[Сколько основных разделов?] -->|3–5| B[Использовать таб‑бар снизу или горизонтальный меню]
      A -->|>5| C[Использовать гамбургер‑меню]
      C --> D{Есть глубокая вложенность?}
      D -->|Да| E[Рассмотреть мини‑JS для управления]
      D -->|Нет| F[CSS checkbox‑хак достаточен]

    Критерии приёмки

    Справочная таблица терминов (1‑строчное глоссарий)

    Факт‑бокс

    Быстрая шпаргалка (cheat sheet)

    Заключение

    Экспериментируйте с макетом, цветами и иконками, но сохраняйте простоту и доступность. Адаптивная навигация напрямую влияет на показатели отказов и конверсии: минимизируйте клики до важных разделов и убедитесь, что пользователь попадает к популярному контенту за 3 клика или меньше.

    Краткое резюме:

    Navbar для десктопа с выпадающим меню

    Адаптивная панель навигации с гамбургер‑меню на мобильном

    Важно: продолжайте экспериментировать и упрощать структуру — простая навигация удерживает пользователей и увеличивает конверсию.

    Поделиться: X/Twitter Facebook LinkedIn Telegram
    Автор
    Редакция

    Похожие материалы

    Как увидеть пароль Wi‑Fi на Mac
    macOS

    Как увидеть пароль Wi‑Fi на Mac

    Как пользоваться Screen Time на iPhone
    Инструкции

    Как пользоваться Screen Time на iPhone

    Как заблокировать приложения на iPhone
    Приватность

    Как заблокировать приложения на iPhone

    Как сканировать QR‑код на Android и iPhone
    Руководство

    Как сканировать QR‑код на Android и iPhone

    Nearby Share на Android — настройка и использование
    Android.

    Nearby Share на Android — настройка и использование

    Менеджер паролей на Android: автозаполнение
    Безопасность

    Менеджер паролей на Android: автозаполнение