← Back to Bootstrap Course | Chapter 10: Responsive Design | Lesson 5 of 7

Responsive navbar

A responsive navbar collapses its links into a toggle button on small screens.

In this page:

  1. Responsive navbar
Syntax
markup
<nav class="navbar navbar-expand-lg">
  <div class="container-fluid">
    <button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#nav-id">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="nav-id">...</div>
  </div>
</nav>

Responsive navbar

Use navbar-expand-{breakpoint} so links show in a row from that size and collapse below it. The .navbar-toggler button toggles the .collapse.navbar-collapse block through the JS bundle.

Add navbar-nav, dropdowns, search forms and utilities to build complete headers. Offcanvas can replace the collapse for a sliding mobile menu.

Note: Pick the expand breakpoint based on how many links you have.

Example: Responsive navbar

markup
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body class="p-3">
<nav class="navbar navbar-expand-md bg-primary" data-bs-theme="dark">
  <div class="container">
    <a class="navbar-brand" href="#">ResponsiveNav</a>
    <button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#rnav" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
    <div class="collapse navbar-collapse" id="rnav">
      <ul class="navbar-nav ms-auto"><li class="nav-item"><a class="nav-link active" href="#">Home</a></li><li class="nav-item"><a class="nav-link" href="#">Docs</a></li><li class="nav-item"><a class="nav-link" href="#">Blog</a></li></ul>
      <form class="d-flex ms-md-3" role="search"><input class="form-control me-2" type="search" placeholder="Search" aria-label="Search"><button class="btn btn-light">Go</button></form>
    </div>
  </div>
</nav>
</body>
</html>
Live Example
Related Topics
Common Mistakes
  1. Missing collapse id matching
  2. No navbar-expand class
  3. Forgetting the JS bundle
Chapter Summary
  • navbar-expand-* sets the breakpoint
  • toggler controls the collapse
  • navbar-collapse holds links
  • Offcanvas is an alternative
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.