A navbar helps people move around your website easily. It shows links to important pages in one place.
Navbar basics in Bootsrap
Introduction
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
Bootsrap
<nav class="navbar navbar-dark bg-dark"> <a class="navbar-brand" href="#">Dark Navbar</a> </nav>
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>
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. What is the main purpose of a
navbar in a website?easy
Solution
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.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.Final Answer:
To help users navigate through different pages easily -> Option AQuick 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
Solution
Step 1: Identify Bootstrap navbar syntax
Bootstrap usesnavbarandnavbar-expand-lgclasses on a<nav>element for responsive navbars.Step 2: Compare options with Bootstrap docs
Only<nav class='navbar navbar-expand-lg'>uses correct element and classes as per Bootstrap standards.Final Answer:
<nav class='navbar navbar-expand-lg'> -> Option DQuick Check:
Bootstrap navbar usesnavbar 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
Solution
Step 1: Analyze classes and structure
The navbar usesnavbar-light bg-lightfor a light style andnavbar-expand-mdto collapse below medium screen size.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.Final Answer:
A light-colored navbar with brand name and collapsible menu toggler on small screens -> Option BQuick 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
Solution
Step 1: Check Bootstrap 5 data attribute syntax
Bootstrap 5 requiresdata-bs-toggleanddata-bs-targetinstead ofdata-toggleanddata-target.Step 2: Verify other classes
The brand link has correct class, nav-item and nav-link are used properly, and background classbg-darkis present.Final Answer:
The button uses old data attributes; should use data-bs-toggle and data-bs-target -> Option AQuick 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
Solution
Step 1: Understand fixed vs sticky navbar
fixed-topfixes navbar always at top,sticky-topsticks it after scrolling. Both keep navbar visible, but sticky-top is preferred for smooth behavior.Step 2: Check collapse breakpoint and color classes
navbar-expand-lgcollapses below large screens,navbar-dark bg-darkgives dark style with good contrast.Step 3: Evaluate options
navbar sticky-top navbar-expand-lg navbar-dark bg-darkuses sticky-top, navbar-expand-lg, navbar-dark, and bg-dark, matching requirements best.Final Answer:
navbar sticky-top navbar-expand-lg navbar-dark bg-dark -> Option CQuick 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
10 questions ~5 mineasy hard
