Bird
Raised Fist0
Bootsrapmarkup~5 mins

Navbar basics in Bootsrap

Choose your learning style10 modes available
Introduction

A navbar helps people move around your website easily. It shows links to important pages in one place.

You want visitors to find main pages quickly.
You have multiple sections on your website.
You want a menu that works well on phones and computers.
You want a clean, simple top menu that stays visible.
Syntax
Bootsrap
<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Brand</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link active" aria-current="page" href="#">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Features</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Pricing</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

The navbar class creates the navigation bar container.

The navbar-expand-lg class makes the navbar responsive, expanding on large screens.

Examples
A simple dark navbar with brand text.
Bootsrap
<nav class="navbar navbar-dark bg-dark">
  <a class="navbar-brand" href="#">Dark Navbar</a>
</nav>
A responsive navbar that collapses on medium screens and smaller.
Bootsrap
<nav class="navbar navbar-expand-md navbar-light bg-light">
  <a class="navbar-brand" href="#">Brand</a>
  <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navMenu" aria-controls="navMenu" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse" id="navMenu">
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" href="#">Link 1</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link 2</a>
      </li>
    </ul>
  </div>
</nav>
Sample Program

This example shows a basic responsive navbar with brand and three links. On small screens, the links collapse into a toggle menu.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Bootstrap Navbar Example</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">MySite</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
          <li class="nav-item">
            <a class="nav-link active" aria-current="page" href="#">Home</a>
          </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>
        </ul>
      </div>
    </div>
  </nav>

  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
OutputSuccess
Important Notes

Always include the Bootstrap CSS and JS files for the navbar to work properly.

Use aria-label and aria-controls for better accessibility.

The navbar-toggler button controls the menu on small screens.

Summary

A navbar helps users navigate your site easily.

Bootstrap's navbar is responsive and works well on all screen sizes.

Use semantic HTML and accessibility attributes for best results.

Practice

(1/5)
1. What is the main purpose of a navbar in a website?
easy
A. To help users navigate through different pages easily
B. To display large images on the homepage
C. To add background music to the site
D. To store user data securely

Solution

  1. Step 1: Understand the role of a navbar

    A navbar is a menu bar that helps users find and visit different parts of a website.
  2. Step 2: Match the purpose with options

    Only To help users navigate through different pages easily describes navigation, which is the navbar's main job.
  3. Final Answer:

    To help users navigate through different pages easily -> Option A
  4. Quick Check:

    Navbar = Navigation aid [OK]
Hint: Navbar is for navigation menus, not media or data [OK]
Common Mistakes:
  • Confusing navbar with image or media display
  • Thinking navbar stores data
  • Assuming navbar plays audio
2. Which of the following is the correct Bootstrap class to create a responsive navbar container?
easy
A. <div class='navbar-container'>
B. <section class='navbar-expand'>
C. <header class='nav-responsive'>
D. <nav class='navbar navbar-expand-lg'>

Solution

  1. Step 1: Identify Bootstrap navbar syntax

    Bootstrap uses navbar and navbar-expand-lg classes on a <nav> element for responsive navbars.
  2. Step 2: Compare options with Bootstrap docs

    Only <nav class='navbar navbar-expand-lg'> uses correct element and classes as per Bootstrap standards.
  3. Final Answer:

    <nav class='navbar navbar-expand-lg'> -> Option D
  4. Quick Check:

    Bootstrap navbar uses navbar navbar-expand-lg [OK]
Hint: Bootstrap navbars use <nav> with navbar-expand classes [OK]
Common Mistakes:
  • Using wrong HTML elements like <div> or <header>
  • Missing 'navbar' class
  • Using incomplete or incorrect class names
3. What will be the visual result of this Bootstrap navbar code snippet?
<nav class='navbar navbar-expand-md navbar-light bg-light'>
  <a class='navbar-brand' href='#'>MySite</a>
  <button class='navbar-toggler' type='button' data-bs-toggle='collapse' data-bs-target='#navMenu'>
    <span class='navbar-toggler-icon'></span>
  </button>
  <div class='collapse navbar-collapse' id='navMenu'>
    <ul class='navbar-nav'>
      <li class='nav-item'><a class='nav-link' href='#'>Home</a></li>
      <li class='nav-item'><a class='nav-link' href='#'>About</a></li>
    </ul>
  </div>
</nav>
medium
A. A dark navbar with fixed menu always visible
B. A light-colored navbar with brand name and collapsible menu toggler on small screens
C. A navbar without any menu items visible
D. A navbar that does not collapse on small screens

Solution

  1. Step 1: Analyze classes and structure

    The navbar uses navbar-light bg-light for a light style and navbar-expand-md to collapse below medium screen size.
  2. Step 2: Understand toggler and collapse behavior

    The button toggles the menu on small screens, so menu items are hidden initially on small devices and shown on larger screens.
  3. Final Answer:

    A light-colored navbar with brand name and collapsible menu toggler on small screens -> Option B
  4. Quick Check:

    navbar-expand-md + navbar-light = collapsible light navbar [OK]
Hint: Look for navbar-expand breakpoint and color classes [OK]
Common Mistakes:
  • Confusing light and dark navbar classes
  • Ignoring collapse behavior on small screens
  • Assuming menu is always visible
4. Identify the error in this Bootstrap navbar code snippet:
<nav class='navbar navbar-expand-lg navbar-dark bg-dark'>
  <a class='navbar-brand' href='#'>Site</a>
  <button class='navbar-toggler' type='button' data-toggle='collapse' data-target='#menu'>
    <span class='navbar-toggler-icon'></span>
  </button>
  <div class='collapse navbar-collapse' id='menu'>
    <ul class='navbar-nav'>
      <li class='nav-item'><a class='nav-link' href='#'>Home</a></li>
    </ul>
  </div>
</nav>
medium
A. The button uses old data attributes; should use data-bs-toggle and data-bs-target
B. Missing navbar-brand class on the brand link
C. The nav-item class is incorrect; should be nav-link
D. The navbar is missing a background color class

Solution

  1. Step 1: Check Bootstrap 5 data attribute syntax

    Bootstrap 5 requires data-bs-toggle and data-bs-target instead of data-toggle and data-target.
  2. Step 2: Verify other classes

    The brand link has correct class, nav-item and nav-link are used properly, and background class bg-dark is present.
  3. Final Answer:

    The button uses old data attributes; should use data-bs-toggle and data-bs-target -> Option A
  4. Quick Check:

    Bootstrap 5 uses data-bs-* attributes [OK]
Hint: Bootstrap 5 uses data-bs-toggle, not data-toggle [OK]
Common Mistakes:
  • Using old Bootstrap 4 data attributes
  • Confusing nav-item and nav-link classes
  • Forgetting background color class
5. You want a navbar that always stays visible at the top when scrolling and collapses on small screens. Which combination of Bootstrap classes should you use?
hard
A. navbar fixed-bottom navbar-expand-md navbar-light bg-light
B. navbar fixed-top navbar-expand-sm navbar-light bg-light
C. navbar sticky-top navbar-expand-lg navbar-dark bg-dark
D. navbar sticky-top navbar-expand-xl navbar-light bg-transparent

Solution

  1. Step 1: Understand fixed vs sticky navbar

    fixed-top fixes navbar always at top, sticky-top sticks it after scrolling. Both keep navbar visible, but sticky-top is preferred for smooth behavior.
  2. Step 2: Check collapse breakpoint and color classes

    navbar-expand-lg collapses below large screens, navbar-dark bg-dark gives dark style with good contrast.
  3. Step 3: Evaluate options

    navbar sticky-top navbar-expand-lg navbar-dark bg-dark uses sticky-top, navbar-expand-lg, navbar-dark, and bg-dark, matching requirements best.
  4. Final Answer:

    navbar sticky-top navbar-expand-lg navbar-dark bg-dark -> Option C
  5. Quick Check:

    Sticky-top + navbar-expand-lg + dark style = correct navbar [OK]
Hint: Use sticky-top and navbar-expand-lg for fixed, collapsible navbar [OK]
Common Mistakes:
  • Choosing fixed-bottom instead of fixed-top or sticky-top
  • Using navbar-expand-sm which collapses too early
  • Ignoring color contrast for accessibility
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard