Difference between revisions of "Bootstrap navigation bar"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(Inverse navbar)
 
(6 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
On narrow screen (mobile phones), the hamburger menu displays instead.
 
On narrow screen (mobile phones), the hamburger menu displays instead.
  
== Requires Bootstrap CSS and JavaScript ==
+
== Requires Bootstrap CSS ==
  
Using the Bootstrap navigation bar requires both Bootstrap CSS and Bootstrap JavaScript.
+
Using the Bootstrap navigation bar requires both Bootstrap CSS.
  
== Example ==
+
== Standard navigation bar ==
  
 +
Official example of the standard navbar:
 +
 +
http://getbootstrap.com/components/#navbar
 +
 +
Here is an example page based on the standard navbar:
 +
 +
http://code.karljones.com/bootstrap-examples/navbar-standard.html
 +
 +
=== HTML ===
 +
 +
Here is the [[HTML]] for the standard navbar:
 +
 +
<nowiki><nav class="navbar navbar-default">
 +
  <div class="container-fluid">
 +
    <!-- Brand and toggle get grouped for better mobile display -->
 +
    <div class="navbar-header">
 +
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
 +
        <span class="sr-only">Toggle navigation</span>
 +
        <span class="icon-bar"></span>
 +
        <span class="icon-bar"></span>
 +
        <span class="icon-bar"></span>
 +
      </button>
 +
      <a class="navbar-brand" href="#">Brand</a>
 +
    </div>
 +
 +
    <!-- Collect the nav links, forms, and other content for toggling -->
 +
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
 +
      <ul class="nav navbar-nav">
 +
        <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
 +
        <li><a href="#">Link</a></li>
 +
        <li class="dropdown">
 +
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
 +
          <ul class="dropdown-menu">
 +
            <li><a href="#">Action</a></li>
 +
            <li><a href="#">Another action</a></li>
 +
            <li><a href="#">Something else here</a></li>
 +
            <li role="separator" class="divider"></li>
 +
            <li><a href="#">Separated link</a></li>
 +
            <li role="separator" class="divider"></li>
 +
            <li><a href="#">One more separated link</a></li>
 +
          </ul>
 +
        </li>
 +
      </ul>
 +
      <form class="navbar-form navbar-left" 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>
 +
      <ul class="nav navbar-nav navbar-right">
 +
        <li><a href="#">Link</a></li>
 +
        <li class="dropdown">
 +
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
 +
          <ul class="dropdown-menu">
 +
            <li><a href="#">Action</a></li>
 +
            <li><a href="#">Another action</a></li>
 +
            <li><a href="#">Something else here</a></li>
 +
            <li role="separator" class="divider"></li>
 +
            <li><a href="#">Separated link</a></li>
 +
          </ul>
 +
        </li>
 +
      </ul>
 +
    </div><!-- /.navbar-collapse -->
 +
  </div><!-- /.container-fluid -->
 +
</nav></nowiki>
 +
 +
=== CSS ===
 +
 +
Here are the standard [[CSS]] rules which apply to the standard navbar:
 +
 +
<nowiki>/* navbar */
 +
.navbar-default {
 +
    background-color: #F8F8F8;
 +
    border-color: #E7E7E7;
 +
}
 +
/* title */
 +
.navbar-default .navbar-brand {
 +
    color: #777;
 +
}
 +
.navbar-default .navbar-brand:hover,
 +
.navbar-default .navbar-brand:focus {
 +
    color: #5E5E5E;
 +
}
 +
/* link */
 +
.navbar-default .navbar-nav > li > a {
 +
    color: #777;
 +
}
 +
.navbar-default .navbar-nav > li > a:hover,
 +
.navbar-default .navbar-nav > li > a:focus {
 +
    color: #333;
 +
}
 +
.navbar-default .navbar-nav > .active > a,
 +
.navbar-default .navbar-nav > .active > a:hover,
 +
.navbar-default .navbar-nav > .active > a:focus {
 +
    color: #555;
 +
    background-color: #E7E7E7;
 +
}
 +
.navbar-default .navbar-nav > .open > a,
 +
.navbar-default .navbar-nav > .open > a:hover,
 +
.navbar-default .navbar-nav > .open > a:focus {
 +
    color: #555;
 +
    background-color: #D5D5D5;
 +
}
 +
/* caret */
 +
.navbar-default .navbar-nav > .dropdown > a .caret {
 +
    border-top-color: #777;
 +
    border-bottom-color: #777;
 +
}
 +
.navbar-default .navbar-nav > .dropdown > a:hover .caret,
 +
.navbar-default .navbar-nav > .dropdown > a:focus .caret {
 +
    border-top-color: #333;
 +
    border-bottom-color: #333;
 +
}
 +
.navbar-default .navbar-nav > .open > a .caret,
 +
.navbar-default .navbar-nav > .open > a:hover .caret,
 +
.navbar-default .navbar-nav > .open > a:focus .caret {
 +
    border-top-color: #555;
 +
    border-bottom-color: #555;
 +
}
 +
/* mobile version */
 +
.navbar-default .navbar-toggle {
 +
    border-color: #DDD;
 +
}
 +
.navbar-default .navbar-toggle:hover,
 +
.navbar-default .navbar-toggle:focus {
 +
    background-color: #DDD;
 +
}
 +
.navbar-default .navbar-toggle .icon-bar {
 +
    background-color: #CCC;
 +
}
 +
@media (max-width: 767px) {
 +
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
 +
        color: #777;
 +
    }
 +
    .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
 +
    .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
 +
        color: #333;
 +
    }
 +
}</nowiki>
 +
 +
Source: http://stackoverflow.com/questions/18529274/change-navbar-color-in-twitter-bootstrap-3
 +
 +
To implement custom colors, override the above rules with your own [[CSS]] rules.
 +
 +
Here is an example page with custom colors:
 +
 +
http://code.karljones.com/bootstrap-examples/navbar-custom-colors.html
 +
 +
== Inverse navbar ==
 +
 +
Bootstrap navbar has a set of inverse styles for the standard navbar.  Implement the inverse style by adding the <code>nav-inverse</code> class to your <code>nav</code> element, like this:
 +
 +
<nowiki><nav class="navbar navbar-inverse"> ... </nav></nowiki>
 +
 +
Here is an example page with an inverse navbar:
 +
 +
http://code.karljones.com/bootstrap-examples/navbar-inverse.html
 +
 +
Here is the same page with custom styles:
 +
 +
http://code.karljones.com/bootstrap-examples/navbar-inverse-custom-colors.html
 +
 +
Here is the custom inverse CSS:
 +
 +
<nowiki>.navbar-inverse {
 +
background-color: #660066;
 +
border-color: #330033;
 +
}
 +
.navbar-inverse .navbar-brand {
 +
color: #ff99ff;
 +
}
 +
 +
.navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.active>a:focus, .navbar-inverse .navbar-nav>.active>a:hover {
 +
color: #ffddff;
 +
background-color: #330033;
 +
}
 +
 +
.navbar-inverse .navbar-nav>li>a {
 +
color: #ffddff;
 +
}</nowiki>
 +
 +
== Pills navigation menu ==
 
Here is the HTML for a pills-style navigation bar:
 
Here is the HTML for a pills-style navigation bar:
  
Line 38: Line 220:
 
* [http://getbootstrap.com/examples/starter-template/ Starter template] @ getbootstrap.com
 
* [http://getbootstrap.com/examples/starter-template/ Starter template] @ getbootstrap.com
 
* [http://getbootstrap.com/components/#navbar Navbar component] @  getbootstrap.com
 
* [http://getbootstrap.com/components/#navbar Navbar component] @  getbootstrap.com
* [http://work.smarchal.com/twbscolor/css/e74c3cc0392becf0f1ffbbbc0 Gerate your own Bootstrap navbar] @ smarchal.com
+
* [http://work.smarchal.com/twbscolor/css/e74c3cc0392becf0f1ffbbbc0 Bootstrap navbar generator] @ smarchal.com
 +
* [http://stackoverflow.com/questions/18529274/change-navbar-color-in-twitter-bootstrap-3 Change navbar color in Twitter Bootstrap 3] @ stackoverflow
  
 
=== code.karljones.com ===
 
=== code.karljones.com ===

Latest revision as of 11:44, 17 May 2016

In Bootstrap (framework), the navigation bar provides a responsive navigational menu.

Navigation bar and hamburger menu

On wider screens, the navigation bar displays at full width.

On narrow screen (mobile phones), the hamburger menu displays instead.

Requires Bootstrap CSS

Using the Bootstrap navigation bar requires both Bootstrap CSS.

Standard navigation bar

Official example of the standard navbar:

http://getbootstrap.com/components/#navbar

Here is an example page based on the standard navbar:

http://code.karljones.com/bootstrap-examples/navbar-standard.html

HTML

Here is the HTML for the standard navbar:

<nav class="navbar navbar-default">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">One more separated link</a></li>
          </ul>
        </li>
      </ul>
      <form class="navbar-form navbar-left" 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>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Action</a></li>
            <li><a href="#">Another action</a></li>
            <li><a href="#">Something else here</a></li>
            <li role="separator" class="divider"></li>
            <li><a href="#">Separated link</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

CSS

Here are the standard CSS rules which apply to the standard navbar:

/* navbar */
.navbar-default {
    background-color: #F8F8F8;
    border-color: #E7E7E7;
}
/* title */
.navbar-default .navbar-brand {
    color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
    color: #5E5E5E;
}
/* link */
.navbar-default .navbar-nav > li > a {
    color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    color: #333;
}
.navbar-default .navbar-nav > .active > a, 
.navbar-default .navbar-nav > .active > a:hover, 
.navbar-default .navbar-nav > .active > a:focus {
    color: #555;
    background-color: #E7E7E7;
}
.navbar-default .navbar-nav > .open > a, 
.navbar-default .navbar-nav > .open > a:hover, 
.navbar-default .navbar-nav > .open > a:focus {
    color: #555;
    background-color: #D5D5D5;
}
/* caret */
.navbar-default .navbar-nav > .dropdown > a .caret {
    border-top-color: #777;
    border-bottom-color: #777;
}
.navbar-default .navbar-nav > .dropdown > a:hover .caret,
.navbar-default .navbar-nav > .dropdown > a:focus .caret {
    border-top-color: #333;
    border-bottom-color: #333;
}
.navbar-default .navbar-nav > .open > a .caret, 
.navbar-default .navbar-nav > .open > a:hover .caret, 
.navbar-default .navbar-nav > .open > a:focus .caret {
    border-top-color: #555;
    border-bottom-color: #555;
}
/* mobile version */
.navbar-default .navbar-toggle {
    border-color: #DDD;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: #DDD;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #CCC;
}
@media (max-width: 767px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
        color: #777;
    }
    .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
    .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #333;
    }
}

Source: http://stackoverflow.com/questions/18529274/change-navbar-color-in-twitter-bootstrap-3

To implement custom colors, override the above rules with your own CSS rules.

Here is an example page with custom colors:

http://code.karljones.com/bootstrap-examples/navbar-custom-colors.html

Inverse navbar

Bootstrap navbar has a set of inverse styles for the standard navbar. Implement the inverse style by adding the nav-inverse class to your nav element, like this:

<nav class="navbar navbar-inverse"> ... </nav>

Here is an example page with an inverse navbar:

http://code.karljones.com/bootstrap-examples/navbar-inverse.html

Here is the same page with custom styles:

http://code.karljones.com/bootstrap-examples/navbar-inverse-custom-colors.html

Here is the custom inverse CSS:

.navbar-inverse {
 background-color: #660066;
 border-color: #330033;
}
 .navbar-inverse .navbar-brand {
 color: #ff99ff;
}
	
.navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.active>a:focus, .navbar-inverse .navbar-nav>.active>a:hover {
 color: #ffddff;
 background-color: #330033;
}

.navbar-inverse .navbar-nav>li>a {
 color: #ffddff;
}

Pills navigation menu

Here is the HTML for a pills-style navigation bar:

<nav>
 <ul class="nav nav-pills pull-right">
  <li role="presentation" class="active"><a href="#">Home</a></li>
  <li role="presentation"><a href="#">About</a></li>
  <li role="presentation"><a href="#">Contact</a></li>
 </ul>
</nav>

Source: http://getbootstrap.com/examples/jumbotron-narrow/

See also

External links

General

code.karljones.com