navbar.md 7.29 KB
Newer Older
Mark Otto's avatar
Mark Otto committed
1
2
---
layout: page
Mark Otto's avatar
Mark Otto committed
3
title: Navbar
Mark Otto's avatar
Mark Otto committed
4
5
---

Mark Otto's avatar
Mark Otto committed
6
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
7

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

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

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

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

- Navbars require a wrapping `.navbar` and either a color scheme class or custom styles.
- 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
20
- 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
21
22
23
24
25
26

### Branding

Name your company, product, or project with `.navbar-brand`.

{% example html %}
Mark Otto's avatar
Mark Otto committed
27
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
28
  <h3 class="navbar-brand">
Mark Otto's avatar
Mark Otto committed
29
30
    <a href="#">Navbar</a>
  </h3>
Mark Otto's avatar
Mark Otto committed
31
</nav>
Mark Otto's avatar
Mark Otto committed
32
33
34
35
36
{% endexample %}

### Navigation

Use `.nav-pills` within a navbar for basic navigation.
Mark Otto's avatar
Mark Otto committed
37

Mark Otto's avatar
Mark Otto committed
38
{% example html %}
Mark Otto's avatar
Mark Otto committed
39
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
40
  <ul class="nav nav-pills">
Mark Otto's avatar
Mark Otto committed
41
    <li class="nav-item active">
Mark Otto's avatar
Mark Otto committed
42
      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
Mark Otto's avatar
Mark Otto committed
43
44
45
46
47
48
49
50
51
52
53
    </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
54
</nav>
Mark Otto's avatar
Mark Otto committed
55
56
57
58
59
60
61
{% endexample %}

### Inline forms

Add an `.inline-form` within the navbar with nearly any combination of form controls and buttons.

{% example html %}
Mark Otto's avatar
Mark Otto committed
62
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
63
64
65
66
  <form class="form-inline">
    <input class="form-control" type="text" placeholder="Search">
    <button class="btn btn-primary" type="submit">Search</button>
  </form>
Mark Otto's avatar
Mark Otto committed
67
</nav>
Mark Otto's avatar
Mark Otto committed
68
69
70
71
{% endexample %}

### Containers

72
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.
Mark Otto's avatar
Mark Otto committed
73
74

{% example html %}
75
76
<div class="container">
  <nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
77
78
79
    <h3 class="navbar-brand">
      <a href="#">Navbar</a>
    </h3>
80
81
  </nav>
</div>
Mark Otto's avatar
Mark Otto committed
82
83
84
{% endexample %}

{% example html %}
85
86
<nav class="navbar navbar-default">
  <div class="container">
Mark Otto's avatar
Mark Otto committed
87
88
89
    <h3 class="navbar-brand">
      <a href="#">Navbar</a>
    </h3>
90
91
  </div>
</nav>
Mark Otto's avatar
Mark Otto committed
92
{% endexample %}
Mark Otto's avatar
Mark Otto committed
93

Mark Otto's avatar
Mark Otto committed
94
95
96
97
98
### Alignment

Use `.pull-left` or `.pull-right` to align multiple elements within the navbar.

{% example html %}
Mark Otto's avatar
Mark Otto committed
99
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
100
101
102
103
104
  <h3 class="navbar-brand pull-left">
    <a href="#">Navbar</a>
  </h3>
  <ul class="nav nav-pills pull-left">
    <li class="nav-item active">
Mark Otto's avatar
Mark Otto committed
105
      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
Mark Otto's avatar
Mark Otto committed
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
    </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>
  <ul class="nav nav-pills pull-right">
    <li class="nav-item">
      <a class="nav-link" href="#">Help</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Sign out</a>
    </li>
  </ul>
Mark Otto's avatar
Mark Otto committed
125
</nav>
Mark Otto's avatar
Mark Otto committed
126
{% endexample %}
Mark Otto's avatar
Mark Otto committed
127

Mark Otto's avatar
Mark Otto committed
128
129
130
### Inverse color scheme

Replace `.navbar-default` with `.navbar-inverse` for a darker background color and white text.
Mark Otto's avatar
Mark Otto committed
131

Mark Otto's avatar
Mark Otto committed
132
{% example html %}
Mark Otto's avatar
Mark Otto committed
133
<nav class="navbar navbar-inverse">
Mark Otto's avatar
Mark Otto committed
134
135
136
137
138
  <h3 class="navbar-brand pull-left">
    <a href="#">Navbar</a>
  </h3>
  <ul class="nav nav-pills pull-left">
    <li class="nav-item active">
Mark Otto's avatar
Mark Otto committed
139
      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
Mark Otto's avatar
Mark Otto committed
140
141
142
143
144
145
146
147
148
149
150
    </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
151
  <form class="form-inline pull-right">
Mark Otto's avatar
Mark Otto committed
152
153
154
    <input class="form-control" type="text" placeholder="Search">
    <button class="btn btn-primary" type="submit">Search</button>
  </form>
Mark Otto's avatar
Mark Otto committed
155
</nav>
Mark Otto's avatar
Mark Otto committed
156
{% endexample %}
Mark Otto's avatar
Mark Otto committed
157

158
159
160
### Small navbar

Small navbars provide a similar aesthetic to Bootstrap 3's navbar. It cuts the padding down, enables full-height navigation, and tweaks vertical alignment for search forms, buttons, and more. It's also available in both default and inverse schemes.
161

162
When moving from a regular navbar to a small one, be sure to update your inputs and buttons to use their small variations as well.
163
164

{% example html %}
165
<nav class="navbar navbar-default navbar-sm">
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
  <h3 class="navbar-brand pull-left">
    <a href="#">Navbar</a>
  </h3>
  <ul class="nav navbar-nav pull-left">
    <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>
  <form class="form-inline pull-right">
    <input class="form-control form-control-sm" type="text" placeholder="Search">
    <button class="btn btn-sm btn-primary" type="submit">Search</button>
  </form>
</nav>

189
<nav class="navbar navbar-inverse navbar-sm">
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
  <h3 class="navbar-brand pull-left">
    <a href="#">Navbar</a>
  </h3>
  <ul class="nav navbar-nav pull-left">
    <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>
  <form class="form-inline pull-right">
    <input class="form-control form-control-sm" type="text" placeholder="Search">
    <button class="btn btn-sm btn-primary" type="submit">Search</button>
  </form>
</nav>
{% endexample %}


Mark Otto's avatar
Mark Otto committed
215
### Collapsible content
Mark Otto's avatar
Mark Otto committed
216

Mark Otto's avatar
Mark Otto committed
217
Our collapse plugin allows you to use a `<button>` or `<a>` to toggle hidden content.
Mark Otto's avatar
Mark Otto committed
218
219

{% example html %}
Mark Otto's avatar
Mark Otto committed
220
<div class="collapse" id="exCollapsingNavbar">
Mark Otto's avatar
Mark Otto committed
221
  <div class="inverse p-a">
Mark Otto's avatar
Mark Otto committed
222
    <h4>Collapsed content</h4>
Mark Otto's avatar
Mark Otto committed
223
224
    <p>Toggleable via the navbar brand.</p>
  </div>
Mark Otto's avatar
Mark Otto committed
225
</div>
Mark Otto's avatar
Mark Otto committed
226
<nav class="navbar navbar-default">
Mark Otto's avatar
Mark Otto committed
227
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar">
Mark Otto's avatar
Mark Otto committed
228
229
    &#9776;
  </button>
Mark Otto's avatar
Mark Otto committed
230
</nav>
Mark Otto's avatar
Mark Otto committed
231
{% endexample %}
Mark Otto's avatar
Mark Otto committed
232
233
234
235
236
237
238
239
240
241
242
243
244
245

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">
    <h4>Collapsed on xs devices</h4>
    <p>Toggleable via the navbar brand.</p>
  </div>
</nav>
{% endexample %}