Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Навигационная панель

Navbar — шапка сайта с логотипом и меню. Главное её умение — адаптивность: на широком экране ссылки стоят в ряд, а на телефоне прячутся за кнопкой-«бургером» (три полоски). Для этого сворачивания нужен JavaScript Bootstrap.

Простая панель

Минимальная панель — тег <nav> с классами navbar и navbar-expand, логотип navbar-brand и список ссылок navbar-nav:

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
 
<nav class="navbar navbar-expand bg-body-tertiary">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Tasko</a>
    <ul class="navbar-nav">
      <li class="nav-item"><a class="nav-link active" aria-current="page" href="#">Главная</a></li>
      <li class="nav-item"><a class="nav-link" href="#">Возможности</a></li>
      <li class="nav-item"><a class="nav-link" href="#">Цены</a></li>
    </ul>
  </div>
</nav>

Серая полоса: слева жирное название, рядом три ссылки, текущая темнее остальных. Класс navbar-expand без точки перелома значит «всегда развёрнута».

Сворачивание на телефоне

Для адаптивной панели меняют navbar-expand на navbar-expand-lg и добавляют две части: кнопку navbar-toggler и обёртку ссылок collapse navbar-collapse. Атрибут кнопки data-bs-target указывает id обёртки:

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
 
<nav class="navbar navbar-expand-lg bg-body-tertiary">
  <div class="container">
    <a class="navbar-brand" href="#">Tasko</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mainMenu"
            aria-controls="mainMenu" aria-expanded="false" aria-label="Открыть меню">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="mainMenu">
      <ul class="navbar-nav me-auto">
        <li class="nav-item"><a class="nav-link" href="#">Возможности</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Цены</a></li>
      </ul>
      <a class="btn btn-primary" href="#">Войти</a>
    </div>
  </div>
</nav>
 
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

Окно превью меньше 992 пикселей в ширину, поэтому справа видна кнопка с тремя полосками. Нажмите её — ссылки и кнопка «Войти» выпадут столбцом. На широком экране всё стоит в одну строку, а me-auto отодвигает «Войти» вправо.

Тёмная панель

Атрибут data-bs-theme="dark" переключает цвета панели на светлый текст, а bg-dark даёт тёмный фон:

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
 
<nav class="navbar navbar-expand bg-dark" data-bs-theme="dark">
  <div class="container-fluid">
    <span class="navbar-brand">Tasko Admin</span>
    <span class="navbar-text">Анна Смирнова</span>
  </div>
</nav>

Это шапка админ-панели: тёмная полоса, название слева и имя пользователя справа, оформленное классом navbar-text.

Где ставить панель

Панель кладут первым элементом в <body>. Чтобы она оставалась видимой при прокрутке, добавьте ей sticky-top.

Частая ошибка

Кнопка-бургер не открывает меню. Причины почти всегда две: не подключён bootstrap.bundle.min.js или data-bs-target="#mainMenu" не совпадает с id обёртки (забыли решётку, опечатка в имени). Проверьте обе вещи, прежде чем искать ошибку в CSS.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.