navbar.md 5.06 KB
Newer Older
Mark Otto's avatar
Mark Otto committed
1
---
Mark Otto's avatar
Mark Otto committed
2
layout: docs
Mark Otto's avatar
Mark Otto committed
3
title: Navbar
4
group: components
Mark Otto's avatar
Mark Otto committed
5
6
---

Mark Otto's avatar
Mark Otto committed
7
The navbar is a simple wrapper for positioning branding, navigation, and other elements. It's easily extensible and, with the help of our collapse plugin, it can easily integrate offscreen content.
Mark Otto's avatar
Mark Otto committed
8

Mark Otto's avatar
Mark Otto committed
9
10
11
12
13
## Contents

* Will be replaced with the ToC, excluding the "Contents" header
{:toc}

Mark Otto's avatar
Mark Otto committed
14
## Basics
Mark Otto's avatar
Mark Otto committed
15
16
17

Here's what you need to know before getting started with the navbar:

Mark Otto's avatar
Mark Otto committed
18
- Navbars require a wrapping `.navbar` and a color scheme class (either `.navbar-default` or `.navbar-inverse`).
Mark Otto's avatar
Mark Otto committed
19
20
- When using multiple components in a navbar, some [alignment classes](#alignment) are required.
- Navbars and their contents are fluid by default. Use [optional containers](#containers) to limit their horizontal width.
Mark Otto's avatar
Mark Otto committed
21
- Use `.pull-left` and `.pull-right` to quickly align sub-components.
Mark Otto's avatar
Mark Otto committed
22
- Ensure accessibility by using a `<nav>` element or, if using a more generic element such as a `<div>`, add a `role="navigation"` to every navbar to explicitly identify it as a landmark region for users of assistive technologies.
Mark Otto's avatar
Mark Otto committed
23

Mark Otto's avatar
Mark Otto committed
24
## Supported content
Mark Otto's avatar
Mark Otto committed
25

Mark Otto's avatar
Mark Otto committed
26
Navbars come with built-in support for a handful of sub-components. Mix and match from the following as you need:
Mark Otto's avatar
Mark Otto committed
27

Mark Otto's avatar
Mark Otto committed
28
29
30
- `.navbar-brand` for your company, product, or project name
- `.navbar-nav` for a full-height and lightweight navigation (including support for dropdowns)
- `.navbar-form` for vertically centering default-sized inputs and buttons.
Mark Otto's avatar
Mark Otto committed
31

Mark Otto's avatar
Mark Otto committed
32
Here's an example of all the sub-components included in a default, light navbar:
Mark Otto's avatar
Mark Otto committed
33

Mark Otto's avatar
Mark Otto committed
34
{% example html %}
Mark Otto's avatar
Mark Otto committed
35
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
36
37
  <a class="navbar-brand" href="#">Navbar</a>
  <ul class="nav navbar-nav">
Mark Otto's avatar
Mark Otto committed
38
    <li class="nav-item active">
Mark Otto's avatar
Mark Otto committed
39
      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
Mark Otto's avatar
Mark Otto committed
40
41
42
43
44
45
46
47
48
49
50
    </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>
    <li class="nav-item">
      <a class="nav-link" href="#">About</a>
    </li>
  </ul>
Mark Otto's avatar
Mark Otto committed
51
  <form class="form-inline navbar-form pull-right">
Mark Otto's avatar
Mark Otto committed
52
    <input class="form-control" type="text" placeholder="Search">
Mark Otto's avatar
Mark Otto committed
53
    <button class="btn btn-success-outline" type="submit">Search</button>
Mark Otto's avatar
Mark Otto committed
54
  </form>
Mark Otto's avatar
Mark Otto committed
55
</nav>
Mark Otto's avatar
Mark Otto committed
56
57
{% endexample %}

Mark Otto's avatar
Mark Otto committed
58
## Inverse theme
Mark Otto's avatar
Mark Otto committed
59

Mark Otto's avatar
Mark Otto committed
60
When you want a darker navbar with light text colors, replace the `.navbar-default` with `.navbar-inverse`.
Mark Otto's avatar
Mark Otto committed
61

Mark Otto's avatar
Mark Otto committed
62
{% example html %}
Mark Otto's avatar
Mark Otto committed
63
<nav class="navbar navbar-inverse">
Mark Otto's avatar
Mark Otto committed
64
65
  <a class="navbar-brand" href="#">Navbar</a>
  <ul class="nav navbar-nav">
Mark Otto's avatar
Mark Otto committed
66
    <li class="nav-item active">
Mark Otto's avatar
Mark Otto committed
67
      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
Mark Otto's avatar
Mark Otto committed
68
69
70
71
72
73
74
75
76
77
78
    </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>
    <li class="nav-item">
      <a class="nav-link" href="#">About</a>
    </li>
  </ul>
Mark Otto's avatar
Mark Otto committed
79
  <form class="form-inline navbar-form pull-right">
Mark Otto's avatar
Mark Otto committed
80
    <input class="form-control" type="text" placeholder="Search">
Mark Otto's avatar
Mark Otto committed
81
    <button class="btn btn-success-outline" type="submit">Search</button>
Mark Otto's avatar
Mark Otto committed
82
  </form>
Mark Otto's avatar
Mark Otto committed
83
</nav>
Mark Otto's avatar
Mark Otto committed
84
{% endexample %}
Mark Otto's avatar
Mark Otto committed
85

Mark Otto's avatar
Mark Otto committed
86
## Containers
87

Mark Otto's avatar
Mark Otto committed
88
Although it's not required, you can wrap a navbar in a `.container` to center it on a page or add one within to only center the contents of the navbar.
89

Mark Otto's avatar
Mark Otto committed
90
91
92
93
{% example html %}
<div class="container">
  <nav class="navbar navbar-default">
    <a class="navbar-brand" href="#">Navbar</a>
94
95
  </nav>
</div>
Mark Otto's avatar
Mark Otto committed
96
{% endexample %}
97

Mark Otto's avatar
Mark Otto committed
98
99
100
101
102
{% example html %}
<nav class="navbar navbar-default">
  <div class="container">
    <a class="navbar-brand" href="#">Navbar</a>
  </div>
103
</nav>
Mark Otto's avatar
Mark Otto committed
104
{% endexample %}
105

Mark Otto's avatar
Mark Otto committed
106
## Collapsible content
Mark Otto's avatar
Mark Otto committed
107

Mark Otto's avatar
Mark Otto committed
108
Our collapse plugin allows you to use a `<button>` or `<a>` to toggle hidden content.
Mark Otto's avatar
Mark Otto committed
109
110

{% example html %}
Mark Otto's avatar
Mark Otto committed
111
<div class="collapse" id="exCollapsingNavbar">
Mark Otto's avatar
Mark Otto committed
112
  <div class="inverse p-a">
Mark Otto's avatar
Mark Otto committed
113
    <h4>Collapsed content</h4>
Mark Otto's avatar
Mark Otto committed
114
    <span class="text-muted">Toggleable via the navbar brand.</span>
Mark Otto's avatar
Mark Otto committed
115
  </div>
Mark Otto's avatar
Mark Otto committed
116
</div>
Mark Otto's avatar
Mark Otto committed
117
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
118
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar">
Mark Otto's avatar
Mark Otto committed
119
120
    &#9776;
  </button>
Mark Otto's avatar
Mark Otto committed
121
</nav>
Mark Otto's avatar
Mark Otto committed
122
{% endexample %}
Mark Otto's avatar
Mark Otto committed
123
124
125
126
127
128
129
130
131

For more complex navbar patterns, like those used in Bootstrap v3, use the `.navbar-toggleable-*` classes in conjunction with the `.navbar-toggler`. These classes override our responsive utilities to show navigation only when content is meant to be shown.

{% example html %}
<nav class="navbar navbar-default">
  <button class="navbar-toggler hidden-sm-up" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar2">
    &#9776;
  </button>
  <div class="collapse navbar-toggleable-xs" id="exCollapsingNavbar2">
Mark Otto's avatar
Mark Otto committed
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
    <a class="navbar-brand" href="#">Responsive navbar</a>
    <ul class="nav navbar-nav">
      <li class="nav-item active">
        <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></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>
      <li class="nav-item">
        <a class="nav-link" href="#">About</a>
      </li>
    </ul>
Mark Otto's avatar
Mark Otto committed
147
148
149
  </div>
</nav>
{% endexample %}