Bootstrap 5 Tutorial
v5.3.0Bootstrap 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-lightDark Theme
navbar-dark bg-darkResponsive Behavior
Breakpoint Options
| Class | Breakpoint | When Collapses |
|---|---|---|
.navbar-expand-sm | ≥576px | Mobile |
.navbar-expand-md | ≥768px | Tablet |
.navbar-expand-lg | ≥992px | Desktop |
.navbar-expand-xl | ≥1200px | Large Desktop |
.navbar-expand-xxl | ≥1400px | Extra Large |
.navbar-expand | Always | Never |
Placement Options
Fixed Top
Stays at top of viewport
fixed-topFixed Bottom
Stays at bottom of viewport
fixed-bottomSticky Top
Becomes fixed after scrolling
sticky-topNavbar 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-labelfor 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