Snippets Navbar

Bootstrap 5 Navbar with Nested Dropdowns for Education Sites

A responsive navigation bar for a learning site with nested topic dropdowns that open on hover and collapse into a menu on mobile.

Bootstrap 5 No jQuery Jun 2019 2.4K views

<section class="wdw-stage">
  <div class="container" style="max-width:980px">
    <nav class="navbar navbar-expand-lg edu-nav wdw-card px-3 px-lg-4" aria-label="Main">
      <a class="navbar-brand d-flex align-items-center gap-2 fw-bold" href="#">
        <span class="wdw-icon" style="width:2.25rem;height:2.25rem;border-radius:.65rem" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="m2 9 10-5 10 5-10 5z"/><path d="M6 11.5V16c0 1.5 3 3 6 3s6-1.5 6-3v-4.5"/></svg></span>
        Learnly
      </a>
      <button class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#eduNav" aria-controls="eduNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
      <div class="collapse navbar-collapse" id="eduNav">
        <ul class="navbar-nav ms-lg-auto gap-lg-1 align-items-lg-center">
          <li class="nav-item"><a class="nav-link" href="#">Home</a></li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle active" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false" aria-current="page">Tutorials</a>
            <ul class="dropdown-menu p-2">
              <li class="dropend">
                <a class="dropdown-item dropdown-toggle rounded-3" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Design</a>
                <ul class="dropdown-menu p-2">
                  <li><a class="dropdown-item rounded-3" href="#">Color theory</a></li>
                  <li><a class="dropdown-item rounded-3" href="#">Typography</a></li>
                  <li><a class="dropdown-item rounded-3" href="#">Layout & grids</a></li>
                </ul>
              </li>
              <li class="dropend">
                <a class="dropdown-item dropdown-toggle rounded-3" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Development</a>
                <ul class="dropdown-menu p-2">
                  <li><a class="dropdown-item rounded-3" href="#">HTML & CSS</a></li>
                  <li><a class="dropdown-item rounded-3" href="#">JavaScript</a></li>
                  <li><a class="dropdown-item rounded-3" href="#">Accessibility</a></li>
                </ul>
              </li>
              <li><a class="dropdown-item rounded-3" href="#">Photography</a></li>
              <li><a class="dropdown-item rounded-3" href="#">Marketing</a></li>
            </ul>
          </li>
          <li class="nav-item"><a class="nav-link" href="#">About</a></li>
          <li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
          <li class="nav-item ms-lg-2 mt-2 mt-lg-0"><a class="btn btn-primary rounded-pill px-3 d-inline-flex align-items-center edu-cta" href="#">Start learning</a></li>
        </ul>
      </div>
    </nav>
    <div class="edu-space d-none d-lg-flex" aria-hidden="true"><p class="small wdw-muted mb-0">Hover or focus a menu item. Arrow keys move between the menu and its submenu.</p></div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.

Free to use in personal and commercial projects under the MIT license.