navbar.md 7.19 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
---

7
The navbar is a simple wrapper for positioning branding, navigation, and other elements into a concise navigation header. 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.
31
- `.navbar-toggler` for use with our collapse plugin and other navigation toggling behaviors.
Mark Otto's avatar
Mark Otto committed
32

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

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

59
## Color schemes
Mark Otto's avatar
Mark Otto committed
60

61
Theming the navbar has never been easier thanks to the combination of a simple link color modifier class and `background-color` utilities. Put another way, you specify light or dark and apply a background color.
Mark Otto's avatar
Mark Otto committed
62

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Here are some examples to show what we mean.

<div class="bd-example">
  <nav class="navbar navbar-dark bg-inverse">
    <a class="navbar-brand" href="#">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>
    <form class="form-inline navbar-form pull-right">
      <input class="form-control" type="text" placeholder="Search">
      <button class="btn btn-info-outline" type="submit">Search</button>
    </form>
  </nav>
  <nav class="navbar navbar-dark bg-primary">
    <a class="navbar-brand" href="#">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>
    <form class="form-inline navbar-form pull-right">
      <input class="form-control" type="text" placeholder="Search">
      <button class="btn btn-secondary-outline" type="submit">Search</button>
    </form>
  </nav>
  <nav class="navbar navbar-light" style="background-color: #e3f2fd;">
    <a class="navbar-brand" href="#">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>
    <form class="form-inline navbar-form pull-right">
      <input class="form-control" type="text" placeholder="Search">
      <button class="btn btn-primary-outline" type="submit">Search</button>
    </form>
  </nav>
</div>

{% highlight html %}
<nav class="navbar navbar-dark bg-inverse">
  <!-- Navbar content -->
Mark Otto's avatar
Mark Otto committed
134
</nav>
135
136
137
138
139
140
141
142
143

<nav class="navbar navbar-dark bg-primary">
  <!-- Navbar content -->
</nav>

<nav class="navbar navbar-light" style="background-color: #e3f2fd;">
  <!-- Navbar content -->
</nav>
{% endhighlight %}
Mark Otto's avatar
Mark Otto committed
144

Mark Otto's avatar
Mark Otto committed
145
## Containers
146

Mark Otto's avatar
Mark Otto committed
147
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.
148

Mark Otto's avatar
Mark Otto committed
149
150
{% example html %}
<div class="container">
151
  <nav class="navbar navbar-light bg-faded">
Mark Otto's avatar
Mark Otto committed
152
    <a class="navbar-brand" href="#">Navbar</a>
153
154
  </nav>
</div>
Mark Otto's avatar
Mark Otto committed
155
{% endexample %}
156

Mark Otto's avatar
Mark Otto committed
157
{% example html %}
158
<nav class="navbar navbar-light bg-faded">
Mark Otto's avatar
Mark Otto committed
159
160
161
  <div class="container">
    <a class="navbar-brand" href="#">Navbar</a>
  </div>
162
</nav>
Mark Otto's avatar
Mark Otto committed
163
{% endexample %}
164

Mark Otto's avatar
Mark Otto committed
165
## Collapsible content
Mark Otto's avatar
Mark Otto committed
166

Mark Otto's avatar
Mark Otto committed
167
Our collapse plugin allows you to use a `<button>` or `<a>` to toggle hidden content.
Mark Otto's avatar
Mark Otto committed
168
169

{% example html %}
Mark Otto's avatar
Mark Otto committed
170
<div class="collapse" id="exCollapsingNavbar">
171
  <div class="bg-inverse p-a">
Mark Otto's avatar
Mark Otto committed
172
    <h4>Collapsed content</h4>
Mark Otto's avatar
Mark Otto committed
173
    <span class="text-muted">Toggleable via the navbar brand.</span>
Mark Otto's avatar
Mark Otto committed
174
  </div>
Mark Otto's avatar
Mark Otto committed
175
</div>
176
<nav class="navbar navbar-light bg-faded">
Mark Otto's avatar
Mark Otto committed
177
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar">
Mark Otto's avatar
Mark Otto committed
178
179
    &#9776;
  </button>
Mark Otto's avatar
Mark Otto committed
180
</nav>
Mark Otto's avatar
Mark Otto committed
181
{% endexample %}
Mark Otto's avatar
Mark Otto committed
182
183
184
185

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 %}
186
<nav class="navbar navbar-light bg-faded">
Mark Otto's avatar
Mark Otto committed
187
188
189
190
  <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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
    <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
206
207
208
  </div>
</nav>
{% endexample %}