Hit enter after type your search item

Bootstrap Navbar Component

The navbar in Bootstrap

Generally, you require a top bar also called the navigation bar or header or top menu in your website that contains main links to the other parts of the website.

As using the Bootstrap framework, this is quite easy to create a header menu that contains links or other components like a small form, dropdowns, etc. The Bootstrap menu is quite easy to customize with your own CSS styles and more importantly menu is responsive as well.

Having a responsive navigation bar is important as it adds good marks as for as SEO and UI are concerned. Since more searchers are coming from smart devices or mobiles than desktops now and presenting your users adjusted menu to their screens is important for rankings as well as adding a good user experience.

I will show you different demos in this tutorial that are simple as well as customized with different components and styles.

A simple Bootstrap navbar demo

You have to use a <nav> tag to initiate a navigation bar that contains the navbar class followed by a series of different classes for links or components in the navigation bar.

See the demo online which is followed by the description:

Bootstrap navbar

See online demo and code

First of all, a nav tag is created that refers to the navbar class in Bootstrap framework. Next is the main div that acts as the container of the navigation bar which is assigned the container-fluid class.

The next section in the code is to deal with mobile/smartphones for better presentation. The next section is self-descriptive if you look at the code that created links, dropdown menu items, and a form to search the website.

Now let me move ahead with changing the color scheme or adding some style in the above example.

Changing the default colors provided by Bootstrap

One of the default color schemes is shown in the above example that uses the navbar-default (specified in the <nav> tag.

The other scheme that you can use, which is set in the Bootstrap CSS is navbar-inverse class. The same demo will look like this if you change the navbar-default to navbar-inverse.

Bootstrap navbar blakish

Only this line of code is changed in the above example:


Generally, you need to design a theme of your own that matches the rest of the website. For that, you have to go through the Bootstrap navbar related classes in the Bootstrap CSS and override the default colors.

I will list a few classes here, the rest you can see on the demo pages. Let me show you a few designs first for the same Bootstrap menu as used in the above example.

Bootstrap navbar custom

See online demo and code

Basically, what is done in the above demo is, I have used the same class in the <nav> tag i.e. navbar-default. However, a new color scheme is used to handle different colors that are placed in the <style> section of the head tag.

You must have to place this style (either external CSS or using style tag) after the Bootstrap’s CSS reference to override it.

Also, note that you do not necessarily need to use the navbar-default class name. Use any class name instead of navbar-default and refer it in the <nav> tag, as shown in the example below:

Bootstrap navbar custom name

See online demo and code

In the demo page’s code, you can see a custom class is created in the head section which is named as menucls. The same is referred in the <nav> tag:

<nav class=”navbar menucls”>

Following are a few important classes to change the main theme of navbar Bootstrap:

  • .menucls To change the background color and border of the main navigation bar.
  • .menucls .navbar-nav > li > a: To change the color of the text of menu items.

Just play with different classes to develop it according to the theme of your project or for testing purposes.

Adding and styling forms in Bootstrap menu

As shown in the above examples, a form is added to the menu. In all examples, it is using the same look of textbox while the button is changed, that uses Bootstrap classes.

You may use Bootstrap form’s style along with adding custom classes to match it with other sections of the website.

See the following example where textbox look is changed by adding a custom style:

Bootstrap navbar form

See online demo and code

In the head section of the demo page, you can see a custom CSS class is created, .inputstl, which is assigned to the form controls – textboxes in that case. It added shadows in the text boxes.

Similarly, you may use other form controls in navbar of Bootstrap with customized styling. However, one thing to be considered while using this is the device size.

Since more and more searchers/visitors are coming from mobile devices, your site “must” be mobile friendly. As the size of the screen gets smaller your Bootstrap navbar should adjust accordingly and make sure it does not expand to look ugly. By default, form controls are responsive, though.

Dealing with Bootstrap mobile menu icon

In the above examples, all menu bars are responsive that are also using Toggle navigation. If you resize the screen or look at the demos in mobile devices, the navbar will be resized and adjusted to the screen. There you can see three horizontal lines to expand the menu:

Bootstrap mobile menu

See online demo and code

If you are looking at this demo in wide-screen (Chrome, Firefox or some other browser), then resize the window to as much smaller as it looks like in the figure shown above. The section which is dealing with better mobile visibility is:


The three lines are due to the icon-bar class that is used three times in the span tag. If you want something else appearing here, for example, some other icon like an envelope or some other image, just modify it or override this class.

How to fix navigation bar on top?

By using the .navbar-fixed-top class in the <nav> tag, you can fix the menu bar on top of the web page. The following examples show a fixed top bar:

Bootstrap navbar fixed top

See online demo and code

The following line in the body section is changed:


A menu bar fixed at bottom demo

Similarly, you may fix the menu bar at the bottom of the webpage. The class to be used is navbar-fixed-bottom.

See the following online bottom menu bar:

Bootstrap navbar fixed bottom

See online demo and code


You can see, just the class navbar-fixed-bottom is used in the <nav> section of code.

A fixed and static top menu

In order to make a top bar menu which is fixed as well, that means, if you scroll down the page, the menu bar will be fixed and visible across.

For that, simply use the navbar-static-top class in the <nav> tag i.e.

This div height required for enabling the sticky sidebar