Lesson 14: Creating a Responsive Navbar in Bootstrap

📌 Objective: Learn how to build a fully responsive navigation bar (navbar) using Bootstrap.


🔹 1. Introduction to Bootstrap Navbar

A navigation bar (navbar) is a key UI component in websites, allowing users to navigate between pages.
Bootstrap provides a prebuilt navbar structure with mobile-friendly behavior.

💡 Why Use Bootstrap Navbar?
✔️ Pre-styled and customizable
✔️ Mobile-first and responsive
✔️ Supports dropdowns, brand logos, and search forms


🔹 2. Basic Bootstrap Navbar Structure

A Bootstrap navbar is created using the .navbar class.

Example: Basic Navbar

html
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">Brand</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<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" 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="#">Services</a></li>
<li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
</ul>
</div>
</div>
</nav>

🔹 What happens?

  • The brand/logo appears on the left.
  • The menu collapses into a hamburger button on small screens.

🔹 3. Customizing Navbar Colors & Themes

You can change the navbar color scheme using .navbar-light and .navbar-dark.

Example: Dark Navbar with a Blue Background

html
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="#">My Website</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<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" 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="#">Blog</a></li>
</ul>
</div>
</div>
</nav>

🔹 What happens?

  • The navbar background turns blue (bg-primary).
  • The text is white (navbar-dark) for better contrast.

🔹 4. Adding a Dropdown Menu

Dropdown menus allow users to select options from a list.

Example: Navbar with a Dropdown

html
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">Brand</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<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" href="#">Home</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown">
Services
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Web Development</a></li>
<li><a class="dropdown-item" href="#">SEO</a></li>
<li><a class="dropdown-item" href="#">Marketing</a></li>
</ul>
</li>
<li class="nav-item"><a class="nav-link" href="#">Contact</a></li>
</ul>
</div>
</div>
</nav>

🔹 What happens?

  • The “Services” menu expands on hover to show more options.

🔹 5. Adding a Search Box to the Navbar

A search input field can be placed inside the navbar.

Example: Navbar with a Search Box

html
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">Brand</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto">
<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>
<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>

🔹 What happens?

  • A search bar appears on the right of the navbar.
  • The search button uses .btn-outline-success.

🔹 6. Making the Navbar Sticky or Fixed

You can make the navbar stick to the top of the page when scrolling.

1️⃣ Sticky Navbar

Use .sticky-top to keep the navbar always visible at the top.

Example: Sticky Navbar

html
<nav class="navbar navbar-expand-lg navbar-light bg-light sticky-top">
<div class="container">
<a class="navbar-brand" href="#">Sticky Navbar</a>
</div>
</nav>

🔹 What happens?

  • The navbar remains at the top when scrolling.

2️⃣ Fixed Navbar

Use .fixed-top to always keep the navbar at the top.

Example: Fixed Navbar

html
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<a class="navbar-brand" href="#">Fixed Navbar</a>
</div>
</nav>

🔹 What happens?

  • The navbar stays fixed at the top, even when scrolling.

📝 Lesson Recap Quiz

🎯 Test your knowledge of Bootstrap Navbar.

📌 Multiple-Choice Questions (MCQs)

1️⃣ What Bootstrap class makes a navbar responsive?
a) .navbar-fixed
b) .navbar-responsive
c) .navbar-expand-lg
d) .navbar-mobile

Correct Answer: c) .navbar-expand-lg


2️⃣ What class is used to make a navbar sticky when scrolling?
a) .fixed-navbar
b) .sticky-navbar
c) .navbar-top
d) .sticky-top

Correct Answer: d) .sticky-top


3️⃣ How do you add a dropdown menu inside a Bootstrap navbar?
a) .navbar-dropdown
b) .dropdown-menu
c) .menu-dropdown
d) .navbar-toggle

Correct Answer: b) .dropdown-menu


📌 True or False

4️⃣ The .navbar-dark class makes navbar text light-colored.
Answer: True

5️⃣ The .navbar-toggler class is required to make a navbar collapsible on mobile.
Answer: True


🎯 Practical Challenge

✅ Create a fully responsive Bootstrap navbar with:

  • A brand/logo
  • A dropdown menu for “Services”
  • A search box inside the navbar
  • A sticky navbar at the top
    ✅ Post your solution in the discussion forum for feedback!

🎓 Lesson Summary

Bootstrap Navbar (.navbar) provides mobile-friendly navigation.
.navbar-expand-lg makes the navbar expand on larger screens.
Dropdowns (.dropdown-menu) add extra menu options.
.sticky-top and .fixed-top keep the navbar visible when scrolling.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *