Bootstrap 5 Tutorial

v5.3.0

Bootstrap 5 Tutorial

Navbar Component in Bootstrap 5

Navbar: Responsive navigation header with support for branding, navigation, forms, and more.

Basic Navbar

Simple Navbar Example
<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav me-auto mb-2 mb-lg-0">
        <li class="nav-item">
          <a class="nav-link active" href="#">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
      </ul>
      <form class="d-flex">
        <input class="form-control me-2" type="search" placeholder="Search"/>
        <button class="btn btn-outline-success" type="submit">Search</button>
      </form>
    </div>
  </div>
</nav>

Navbar Color Schemes

Light Theme
navbar-light bg-light
Dark Theme
navbar-dark bg-dark

Responsive Behavior

Breakpoint Options
ClassBreakpointWhen Collapses
.navbar-expand-sm≥576pxMobile
.navbar-expand-md≥768pxTablet
.navbar-expand-lg≥992pxDesktop
.navbar-expand-xl≥1200pxLarge Desktop
.navbar-expand-xxl≥1400pxExtra Large
.navbar-expandAlwaysNever

Placement Options

Fixed Top

Stays at top of viewport

fixed-top
Fixed Bottom

Stays at bottom of viewport

fixed-bottom
Sticky Top

Becomes fixed after scrolling

sticky-top

Navbar with Container

Inside Container
<nav class="navbar">
  <div class="container">
    <!-- Content inside container -->
  </div>
</nav>
Container Fluid
<nav class="navbar">
  <div class="container-fluid">
    <!-- Full width content -->
  </div>
</nav>

Complete Example with All Features

Advanced Navbar
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
  <div class="container">
    <!-- Brand with logo -->
    <a class="navbar-brand" href="#">
      <img src="/logo.png" alt="Logo" width="30" height="30" class="d-inline-block align-text-top me-2"/>
      Brand Name
    </a>
    
    <!-- Toggler for mobile -->
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
      <span class="navbar-toggler-icon"></span>
    </button>
    
    <!-- Collapsible content -->
    <div class="collapse navbar-collapse" id="navbarNav">
      <!-- Navigation links -->
      <ul class="navbar-nav me-auto">
        <li class="nav-item">
          <a class="nav-link active" href="#">
            <i class="bi bi-house-door me-1"></i> Home
          </a>
        </li>
        <!-- More items... -->
      </ul>
      
      <!-- Right-aligned items -->
      <div class="d-flex">
        <button class="btn btn-outline-light me-2">Login</button>
        <button class="btn btn-light">Sign Up</button>
      </div>
    </div>
  </div>
</nav>

Accessibility Features

Accessibility Best Practices
  • Use <nav> element for semantic navigation
  • Add aria-label for multiple navigation regions
  • Ensure keyboard navigation works properly
  • Add aria-current=&qout;page&qout; for current page link
  • Make sure color contrast meets WCAG standards
  • Test with screen readers

Common Use Cases

E-commerce Navbar

Includes shopping cart, user account, product categories

  • Product search
  • Shopping cart with badge
  • Categories dropdown
  • User menu
Admin Dashboard Navbar

Includes notifications, user profile, quick actions

  • Notification bell with badge
  • User profile dropdown
  • Quick action buttons
  • Search functionality

Troubleshooting Common Issues

Common Problems and Solutions
  • Toggler not working: Make sure Bootstrap JS is loaded
  • Dropdowns not working: Check data-bs-toggle attribute
  • Mobile menu not collapsing: Verify target ID matches
  • Alignment issues: Use proper flex utility classes
  • Overflow problems: Ensure container has proper width