How to create a menu using navbar-inverse in Bootstrap ?

10 Oct, 2021
In this article, we will learn how to create a menu using the navbar-inverse in Bootstrap & will also understand its implementation through the example. The menu bar is a very important part while making a navigation bar for the website. We can create a menu bar along with inverse the color of the menu bar using the Bootstrap navbar-inverse class.
The navbar in Bootstrap contains many classes such as:
.navbar-brand class: This class is used for your company, product, or project name, or any brand name.
.navbar-nav class: This class is used for full-height and lightweight navigation (including support for dropdowns).
.navbar-toggler class: This class is used for the collapse plugin and other navigation toggling behaviors.
.navbar-text class: This class is used for adding vertically centered strings of text.
.collapse.navbar-collapse class: This class is used for grouping and hiding navbar contents by a parent breakpoint.
The flex and spacing utility classes are used for any form controls and actions.
We will understand the above classes & their usage through the example. Let’s see how to implement navbar using Bootstrap.
Step 1: Import the Bootstrap CDN links inside our HTML file.
<!– Bootstrap compiled and minified CSS –><link rel=”stylesheet” href=”https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css” integrity=”sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu” crossorigin=”anonymous”/>
<!– Bootstrap compiled and minified JavaScript –><script src=”https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js” integrity=”sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd” crossorigin=”anonymous”></script>
Step 2: Add the <nav> tag inside your <body> with the navbar and navbar-default classes inside in it.
<nav class="navbar navbar-default ">
    <!-- content  -->
</nav>
Step 3: Create a <nav> tag with a class name as navbar navbar-default, & inside of <nav> tag, we will create a <div> with class name as “container-fluid”. Now, in order to use the brand logo or name, we will add a class as navbar-brand, and inside it, create a <ul> tag with a class name as “nav navbar-nav”, followed by the list of the item using the<li> tag.
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">GeekforGeeks</a>
    <ul class="nav navbar-nav">
      <li class="active"><a href="#">Web Technology </a></li>
      <li><a href="#">Data Structure</a></li>
      <li><a href="#">Algorithm</a></li>
      <li><a href="#">Competitive Programming</a></li>
      <li><a href="#">Programming Languages</a></li>
    </ul>
  </div>
</nav>
At this stage, we have created a basic navigation bar using Bootstrap. The below code example illustrates the basic navbar in Bootstrap.
Complete Code:
HTML
<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible"           content="IE=edge" />    <meta      name="viewport"      content="width=device-width,                initial-scale=1.0" />    <link rel="stylesheet"          href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"          integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu"          crossorigin="anonymous" />      <title>GeeksforGeeks Bootstrap Tutorial</title>  </head>    <body>    <nav class="navbar navbar-default">      <div class="container-fluid">        <a class="navbar-brand" href="#">GeekforGeeks</a>        <ul class="nav navbar-nav">          <li class="active"><a href="#">Web Technology </a></li>          <li><a href="#">Data Structure</a></li>          <li><a href="#">Algorithm</a></li>          <li><a href="#">Competitive Programming</a></li>          <li><a href="#">Programming Languages</a></li>        </ul>      </div>    </nav>  </body></html>
Output:
Simple Navigation Bar in Bootstrap
From the above output, we can see that the menu-bar is having a white background and if we need to change the background to black and other text content to white, we can simply add the ‘.navbar-inverse’ class in the <nav> tag as shown below.
<nav class="navbar navbar-default navbar-inverse">
   <!-- Content  -->
</nav>
Example: This example illustrates the use of the .navbar-inverse class for changing the background to black in Bootstrap.
HTML
<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible"          content="IE=edge" />    <meta      name="viewport"      content="width=device-width,                initial-scale=1.0" />    <link rel="stylesheet"            href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"            integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu"            crossorigin="anonymous"  />    <title>GeeksforGeeks Bootstrap Tutorial</title>  </head>    <body>    <nav class="navbar navbar-default navbar-inverse">      <div class="container-fluid">        <a class="navbar-brand" href="#">GeekforGeeks</a>        <ul class="nav navbar-nav">          <li class="active"><a href="#">Web Technology </a></li>          <li><a href="#">Data Structure</a></li>          <li><a href="#">Algorithm</a></li>          <li><a href="#">Competitive Programming</a></li>          <li><a href="#">Programming Languages</a></li>        </ul>      </div>    </nav>  </body></html>
Output:
 After adding navbar-inverse, the navbar turns black
As you can clearly see from the above output, the color is changed to black and fonts become white. Thus, we have successfully created a basic navigation bar using Bootstrap using the “navbar-inverse” class. Now, we can also add several features like dropdowns and search options inside our navigation bar.
In order to make a drop-down menu, we will be using the below code:
<div class="dropdown">
 <button
   class="btn btn-default dropdown-toggle"
   type="button"
   id="dropdownMenu1"
   data-toggle="dropdown"
   aria-haspopup="true"
   aria-expanded="true">
   Dropdown
   <span class="caret"></span>
 </button>
 
 <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
   <li><a href="#">Link1</a></li>
   <li><a href="#">Link2</a></li>
   <li><a href="#">Link3</a></li>
 </ul>
</div>
For placing the search option to the right in the navbar, we will use the below code snippet:
<form class="navbar-form navbar-right" role="search">
  <div class="form-group">
    <input type="text" class="form-control" 
             placeholder="Search" />
  </div>
  <button type="submit" 
          class="btn btn-default">Submit
  </button>
</form>
At this point, we have made the updated navbar code after adding more features like drop-down and search bar.
Complete Code:
HTML
<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible" content="IE=edge" />    <meta name="viewport"           content="width=device-width,                    initial-scale=1.0" />    <link rel="stylesheet"            href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"            integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu"            crossorigin="anonymous" />      <title>GeeksforGeeks Bootstrap Navbar Tutorial</title>  </head>    <body>    <nav class="navbar navbar-default navbar-inverse">      <div class="container-fluid">        <a class="navbar-brand" href="#">GeeksforGeeks</a>        <ul class="nav navbar-nav">          <li class="active"><a href="#">Data Structure</a></li>          <li><a href="#">Algorithm</a></li>          <li><a href="#">Competitive Programming</a></li>          <li class="dropdown">            <a              href="#"              class="dropdown-toggle"              data-toggle="dropdown"              role="button"              aria-haspopup="true"              aria-expanded="false">                  Web Technology<span class="caret"></span>            </a>            <ul class="dropdown-menu">              <li>                <a href="#">HTML</a>              </li>              <li>                <a href="#">CSS</a>              </li>              <li>                <a href="#">JavaScript</a>              </li>            </ul>          </li>        </ul>        <form class="navbar-form navbar-right">          <div class="form-group">            <input type="text"                    class="form-control"                    placeholder="Search" />          </div>          <button type="submit"                   class="btn btn-default">Submit          </button>        </form>      </div>    </nav>  </body></html>
Output:
Navbar after adding features like dropdown and search option
NOTE: The class “.navbar-inverse” is now outdated. It is used in bootstrap to make the navbar dark till version 3.3.7. Now, the class “.bg-dark” is used to darken the components in the current version 5.0.0 & the previous version 4.6.1.  
Bootstrap-Questions
HTML-Questions
Picked
Bootstrap
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Show Images on Click using HTML ?
How to Use Bootstrap with React?
How to set vertical alignment in Bootstrap ?
Tailwind CSS vs Bootstrap
How to toggle password visibility in forms using Bootstrap-icons ?
Installation of Node.js on Linux
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Difference between var, let and const keywords in JavaScript
How to insert spaces/tabs in text using HTML/CSS?
How to fetch data from an API in ReactJS ?