Episode 19 of 28

Mobile Navbars

Learn how to make navbars responsive with the collapsible hamburger menu.

Bootstrap navbars can automatically collapse into a hamburger menu on small screens. This is one of the most useful responsive features.

Responsive Navbar

<nav class="navbar navbar-default">
    <div class="container">
        <!-- Brand and toggle -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed"
                    data-toggle="collapse"
                    data-target="#main-nav">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">My Site</a>
        </div>

        <!-- Collapsible content -->
        <div class="collapse navbar-collapse" id="main-nav">
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">Login</a></li>
            </ul>
        </div>
    </div>
</nav>

How It Works

  1. The toggle button (hamburger icon) is only visible on small screens
  2. data-target="#main-nav" links the button to the collapsible section
  3. Three .icon-bar spans create the ☰ hamburger icon
  4. The .collapse .navbar-collapse div wraps all links to be hidden/shown

Key Requirements

  • jQuery must be loaded
  • Bootstrap JS must be loaded
  • The data-target must match the id of the collapse div
  • Include the viewport meta tag

On small screens, clicking the hamburger icon smoothly slides the navigation links down. Clicking again collapses them.