Примеры использования navbar в Bootstrap 5

Navbar (или навигационная панель) — это важный элемент веб-страницы, который обеспечивает навигацию по сайту. Он может содержать логотип, ссылки на разделы, выпадающие меню и другие элементы.

Основные компоненты Navbar

  1. .navbar-brand: Этот класс используется для добавления логотипа компании, продукта или проекта.
  2. .navbar-nav: Этот класс создает полноэкранную и легкую навигацию, включая поддержку выпадающих меню.
  3. .navbar-toggler: Используется с плагином collapse для переключения навигации.
  4. Flex и spacing утилиты: Для управления отступами и выравниванием внутри навигационной панели.
  5. .navbar-text: Добавляет вертикально выровненные строки текста.
  6. .collapse.navbar-collapse: Группирует и скрывает содержимое навигационной панели при определенном разрешении экрана.

Примеры Navbar (навигационных панелей)

Давайте рассмотрим всевозможные примеры навигационных панелей.

Посмотреть демо

Never expand (постоянно скрытое бургер меню)

В этом варианте navbar всегда остается свернутым, даже на больших экранах. Пользователи могут видеть только иконку бургер-меню, но навигационные элементы остаются скрытыми до тех пор, пока пользователь не нажмет на иконку.

  <nav class="navbar navbar-dark bg-dark" aria-label="First navbar example">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">Never expand</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample01" aria-controls="navbarsExample01" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarsExample01">
        <ul class="navbar-nav me-auto mb-2">
          <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 disabled" aria-disabled="true">Отключено</a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Выпадающий список</a>
            <ul class="dropdown-menu">
              <li><a class="dropdown-item" href="#">Действие</a></li>
              <li><a class="dropdown-item" href="#">Еще одно действие</a></li>
              <li><a class="dropdown-item" href="#">Здесь кое-что еще</a></li>
            </ul>
          </li>
        </ul>
        <form role="search">
          <input class="form-control" type="search" placeholder="Поиск" aria-label="Поиск">
        </form>
      </div>
    </div>
  </nav>

Always expand (постоянно открытое, нескрываемое меню)

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

  <nav class="navbar navbar-expand navbar-dark bg-dark" aria-label="Second navbar example">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">Always expand</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample02" aria-controls="navbarsExample02" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarsExample02">
        <ul class="navbar-nav me-auto">
          <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>
        </ul>
        <form role="search">
          <input class="form-control" type="search" placeholder="Поиск" aria-label="Поиск">
        </form>
      </div>
    </div>
  </nav>

Меню во всю ширину, автоматически сворачивается при разных разрешениях экранов

Рассмотрим только один пример навигационной панели, которая автоматически сворачивается при разрешении sm:

 <nav class="navbar navbar-expand-sm navbar-dark bg-dark" aria-label="Third navbar example">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">Развернуть на sm</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample03" aria-controls="navbarsExample03" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarsExample03">
        <ul class="navbar-nav me-auto mb-2 mb-sm-0">
          <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 disabled" aria-disabled="true">Отключено</a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Выпадающий список</a>
            <ul class="dropdown-menu">
              <li><a class="dropdown-item" href="#">Действие</a></li>
              <li><a class="dropdown-item" href="#">Еще одно действие</a></li>
              <li><a class="dropdown-item" href="#">Здесь кое-что еще</a></li>
            </ul>
          </li>
        </ul>
        <form role="search">
          <input class="form-control" type="search" placeholder="Поиск" aria-label="Поиск">
        </form>
      </div>
    </div>
  </nav>

Если хотите сворачивать меню на других разрешениях экранов, замените в классе navbar-expand-sm, sm (≥ 576 px) на любой другой:

  • md ≥ 768 px, пример: navbar-expand-md;
  • lg ≥ 992 px;
  • xl ≥ 1200 px;
  • XXL ≥ 1400px.

Пункты меню огранниченные шириной контейнера

В примере "Меню во всю ширину, автоматически сворачивается при разных разрешениях экранов", замените класс .container-fluid на .container или к примеру на .container-xl, чтобы ограничить область просмотра.

Меню в Container

Меню огранниченные шириной контейнера

Если вы хотите ограничить все меню по ширене контейнера, просто оберните пример "Меню во всю ширину, автоматически сворачивается при разных разрешениях экранов", в div c классом .container, пример:

Меню обернутое в Container

<div class="container">
    <nav class="navbar navbar-expand-lg bg-body-tertiary rounded" aria-label="Eleventh navbar example">
      <div class="container-fluid">
        <a class="navbar-brand" href="#">Navbar</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample09" aria-controls="navbarsExample09" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarsExample09">
          <ul class="navbar-nav me-auto mb-2 mb-lg-0">
            <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 disabled" aria-disabled="true">Отключено</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Выпадающий список</a>
              <ul class="dropdown-menu">
                <li><a class="dropdown-item" href="#">Действие</a></li>
                <li><a class="dropdown-item" href="#">Еще одно действие</a></li>
                <li><a class="dropdown-item" href="#">Здесь кое-что еще</a></li>
              </ul>
            </li>
          </ul>
          <form role="search">
            <input class="form-control" type="search" placeholder="Поиск" aria-label="Поиск">
          </form>
        </div>
      </div>
    </nav>
</div>

Центирование пунктов меню

Центрированная навигационная панель (Centered Nav Only)

В этом варианте navbar центрируется по горизонтали и содержит только элементы навигации, расположенные в центре.

    <nav class="navbar navbar-expand-lg bg-body-tertiary rounded" aria-label="Twelfth navbar example">
      <div class="container-fluid">
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample10" aria-controls="navbarsExample10" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse justify-content-md-center" id="navbarsExample10">
          <ul class="navbar-nav">
            <li class="nav-item">
              <a class="nav-link active" aria-current="page" href="#">Centered nav only</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Ссылка</a>
            </li>
            <li class="nav-item">
              <a class="nav-link disabled" aria-disabled="true">Отключено</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Выпадающий список</a>
              <ul class="dropdown-menu">
                <li><a class="dropdown-item" href="#">Действие</a></li>
                <li><a class="dropdown-item" href="#">Еще одно действие</a></li>
                <li><a class="dropdown-item" href="#">Здесь кое-что еще</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>

Центрированная навигационная панель с логотипом и кнопкой (Centered Nav with Logo and bottom)

В этом варианте navbar также центрируется по горизонтали, но включает логотип и кнопку расположенные слева и с пправа.

    <nav class="navbar navbar-expand-lg bg-body-tertiary rounded" aria-label="Thirteenth navbar example">
      <div class="container-fluid">
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsExample11" aria-controls="navbarsExample11" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse d-lg-flex" id="navbarsExample11">
          <a class="navbar-brand col-lg-3 me-0" href="#">Centered nav</a>
          <ul class="navbar-nav col-lg-6 justify-content-lg-center">
            <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 disabled" aria-disabled="true">Отключено</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Выпадающий список</a>
              <ul class="dropdown-menu">
                <li><a class="dropdown-item" href="#">Действие</a></li>
                <li><a class="dropdown-item" href="#">Еще одно действие</a></li>
                <li><a class="dropdown-item" href="#">Здесь кое-что еще</a></li>
              </ul>
            </li>
          </ul>
          <div class="d-lg-flex col-lg-3 justify-content-lg-end">
            <button class="btn btn-primary">Кнопка</button>
          </div>
        </div>
      </div>
    </nav>

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

Посмотреть демо

Позицианирование навигационных панелей

Для позиционирования навигационных панелей ознакомьтесь с примерами верхнего и фиксированного сверху.

Посмотреть документацию по Navbar »