index.html 79.2 KB
Newer Older
1
2
3
4
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
5
    <title>Bootstrap, from Twitter</title>
6
7
    <meta name="description" content="">
    <meta name="author" content="">
8

9
    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
10
11
12
13
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

14
    <!-- Le styles -->
15
    <link href="../bootstrap.css" rel="stylesheet">
Jacob Thornton's avatar
Jacob Thornton committed
16
    <link href="assets/css/docs.css" rel="stylesheet">
17
    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">
18

19
    <!-- Le fav and touch icons -->
20
21
22
23
    <link rel="shortcut icon" type="image/x-icon" href="assets/ico/favicon.ico">
    <link rel="apple-touch-icon" href="assets/ico/bootstrap-apple-57x57.png">
    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/bootstrap-apple-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/bootstrap-apple-114x114.png">
24
25
  </head>

26
  <body>
27

Mark Otto's avatar
Mark Otto committed
28
29
    <!-- Topbar
    ================================================== -->
30
31
    <div class="navbar navbar-fixed" data-scrollspy="scrollspy">
      <div class="navbar-inner">
Jacob Thornton's avatar
Jacob Thornton committed
32
        <div class="container">
33
          <a class="brand" href="#">Bootstrap</a>
34
          <ul class="nav">
Mark Otto's avatar
Mark Otto committed
35
            <li class="active"><a href="#overview">Overview</a></li>
Jacob Thornton's avatar
Jacob Thornton committed
36
            <li><a href="#about">About</a></li>
37
38
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-dropdown="true">Scaffolding</a>
39
40
41
              <ul class="dropdown-menu">
                <li><a href="#grid-system">Grid</a></li>
                <li><a href="#layouts">Layouts</a></li>
42
                <li><a href="#responsive">Resposive</a></li>
43
44
              </ul>
            </li>
45
46
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-dropdown="true">CSS</a>
47
48
49
50
51
52
              <ul class="dropdown-menu">
                <li><a href="#typography">Type</a></li>
                <li><a href="#tables">Tables</a></li>
                <li><a href="#forms">Forms</a></li>
              </ul>
            </li>
53
54
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-dropdown="true">Patterns</a>
55
56
              <ul class="dropdown-menu">
                <li><a href="#navigation">Navigation</a></li>
57
                <li><a href="#media">Media</a></li>
58
59
                <li><a href="#alerts">Alerts</a></li>
                <li><a href="#popovers">Popovers</a></li>
60
61
62
                <li><a href="#autocomplete">Autocomplete</a></li>
                <li><a href="#accordion">Accordion</a></li>
                <li><a href="#datepicker">Datepicker</a></li>
63
64
              </ul>
            </li>
65
            <li><a href="#javascript">Javascript</a></li>
66
            <li><a href="#less">Using Less</a></li>
Jacob Thornton's avatar
Jacob Thornton committed
67
68
          </ul>
        </div>
69
70
71
      </div>
    </div>

72
73
74
75
76
77
78
  <div class="container">

    <div id="overview">
      <!-- Masthead (blueprinty thing)
      ================================================== -->
      <header class="jumbotron masthead">
        <div class="inner">
79
80
81
82
83
84
85
          <h1>Bootstrap,<br> from Twitter</h1>
          <p class="lead">Bootstrap is a responsive frontend toolkit from Twitter designed to kickstart web development, complete with core HTML, CSS, and JS for grids, type, forms, navigation, and many more components.</p>
          <p class="download-info">
            <a href="#" class="btn primary btn-large">Download on GitHub</a>
            Currently v2.0.0
          </p>
          <div class="benefits">
86
87
88
            <h4>Feature highlights</h4>
            <ul>
              <li><span>&times;</span> Built on LESS</li>
89
              <li><span>&times;</span> Complete styleguide docs</li>
90
91
92
93
94
95
96
              <li><span>&times;</span> Fully responsive design</li>
              <li><span>&times;</span> Small footprint (7kb gzipped)</li>
              <li><span>&times;</span> Support for IE7 and up</li>
              <li><span>&times;</span> Custom jQuery plugins</li>
              <li><span>&times;</span> Dozens of components</li>
            </ul>
          </div>
97
98
        </div>
      </header>
99

100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
      <ul class="quick-links">
        <li><strong>Quick links</strong></li>
        <li><a href="https://github.com/twitter/bootstrap/">GitHub</a></li>
        <li><a href="https://github.com/twitter/bootstrap/issues?state=open">Issues</a></li>
        <li><a href="https://github.com/twitter/bootstrap/wiki/Roadmap">Roadmap</a></li>
        <li><a href="https://github.com/twitter/bootstrap/wiki/Changelog">Changelog</a></li>
        <li class="divider">&middot;</li>
        <li><strong>Authors</strong></li>
        <li><a href="http://twitter.com/mdo">@mdo</a></li>
        <li><a href="http://twitter.com/fat">@fat</a></li>
        <li class="divider">&middot;</li>
        <li class="follow-btn">
          <a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-width="145px" data-link-color="#0069D6" data-show-count="false">Follow @twbootstrap</a><script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
        </li>
        <li class="tweet-btn">
          <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twitter.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
        </li>
      </ul>


120
121
122
      <!-- Quickstart options
      ================================================== -->
      <div class="quickstart" style="display: none;">
123
        <div class="row">
124
          <div class="span4">
125
126
127
            <h6>Hotlink the CSS</h6>
            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
            <form>
128
              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.min.css"></textarea>
129
130
            </form>
          </div>
131
          <div class="span4">
132
133
            <h6>Use it with Less</h6>
            <p>A fan of using Less? No problem, just clone the repo and add these lines:</p>
134
            <form>
Jacob Thornton's avatar
Jacob Thornton committed
135
              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
136
  &lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
137
138
            </form>
          </div>
139
          <div class="span4">
140
            <h6>Fork on GitHub</h6>
141
            <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
Jacob Thornton's avatar
Jacob Thornton committed
142
            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
Mark Otto's avatar
Mark Otto committed
143
            <p class="current-version">Currently <a href="https://github.com/twitter/bootstrap/wiki/Changelog">v1.3.0</a></p>
144
          </div>
145
        </div><!-- /row -->
146
147
      </div>

148
149
150
151
152
153
154
155
156
157
158
      <!-- About Bootstrap
      ================================================== -->
      <div class="row">
        <div class="span4">
          <h2>Built for and by nerds</h2>
          <p>Engineers at Twitter have historically used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented. With the help of many awesome folks, Bootstrap has grown significantly.</p>
          <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
        </div>
        <div class="span4">
          <h2>Cross-everything</h2>
          <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
159
          <img class="browser-support" src="assets/img/browsers.png" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
          <ul>
            <li>Latest Safari</li>
            <li>Latest Google Chrome</li>
            <li>Firefox 4+</li>
            <li>Internet Explorer 7+</li>
            <li>Opera 11</li>
          </ul>
        </div>
        <div class="span4">
          <h2>What's included</h2>
          <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
          <ul>
            <li><span class="label">New in 1.3</span> <a href="./javascript.html">Javascript plugins</a></li>
            <li>All original .less files</li>
            <li>Fully <a href="../bootstrap.css">compiled</a> and <a href="../bootstrap.min.css">minified</a> CSS</li>
            <li>Complete styleguide documentation</li>
            <li>Three example pages with different layouts</li>
          </ul>
        </div>
      </div><!-- /row -->
180
181
182

      <h3>Quick-start examples</h3>
      <p>Need some quick templates? Check out these basic examples we've put together:</p>
183
184
185
186
187
188
189
190
191
192
193
      <ul class="media-grid">
        <li>
          <a href="../examples/hero.html"><img src="assets/img/example-diagram-01.png" alt="Simple three-column layout with hero unit"></a>
        </li>
        <li>
          <a href="../examples/fluid.html"><img src="assets/img/example-diagram-02.png" alt="Fluid layout with static sidebar"></a>
        </li>
        <li>
          <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" alt="Simple hanging container for apps"></a>
        </li>
      </ul>
194

195
    </div><!-- /#overview -->
Mark Otto's avatar
Mark Otto committed
196
197
198
199


<!-- Grid system
================================================== -->
200
<section id="grid-system">
201
  <div class="page-header">
202
    <h1>Grid system <small>12 columns with a responsive twist</small></h1>
203
  </div>
204
205

  <h2>Default 940px grid</h2>
206
  <div class="row show-grid">
207
208
209
210
211
212
213
214
215
216
217
218
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
219
220
  </div>
  <div class="row show-grid">
Mark Otto's avatar
Mark Otto committed
221
222
223
    <div class="span4">4</div>
    <div class="span4">4</div>
    <div class="span4">4</div>
224
225
  </div>
  <div class="row show-grid">
Mark Otto's avatar
Mark Otto committed
226
    <div class="span4">4</div>
227
228
229
    <div class="span8">8</div>
  </div>
  <div class="row show-grid">
Mark Otto's avatar
Mark Otto committed
230
231
    <div class="span6">6</div>
    <div class="span6">6</div>
232
233
234
235
  </div>
  <div class="row show-grid">
    <div class="span12">12</div>
  </div>
236

237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
  <div class="row">
    <div class="span4">
      <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
      <p>It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.</p>
    </div>
    <div class="span4">
<pre class="prettyprint linenums">
&lt;div class="row"&gt;
  &lt;div class="span4"&gt;...&lt;/div&gt;
  &lt;div class="span8"&gt;...&lt;/div&gt;
&lt;/div&gt;
</pre>
    </div>
    <div class="span4">
      <p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.</p>
    </div>
  </div><!-- /row -->
254
255

  <h2>Offsetting columns</h2>
256
  <div class="row show-grid">
Mark Otto's avatar
Mark Otto committed
257
    <div class="span4">4</div>
258
    <div class="span4 offset4">4 offset 4</div>
259
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
260
  <div class="row show-grid">
261
262
    <div class="span3 offset3">3 offset 3</div>
    <div class="span3 offset3">3 offset 3</div>
Mark Otto's avatar
Mark Otto committed
263
  </div><!-- /row -->
264
  <div class="row show-grid">
265
    <div class="span8 offset4">8 offset 4</div>
266
  </div><!-- /row -->
267

268
269
  <br>

270
  <h2>Nesting columns</h2>
271
  <div class="row">
272
273
274
    <div class="span6">
      <p>With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new <code>.row</code> and set of <code>.span*</code> columns within an existing <code>.span*</code> column.</p>
      <h4>Example</h4>
275
      <div class="row show-grid">
276
        <div class="span6">
277
278
          Level 1 of column
          <div class="row show-grid">
279
            <div class="span3">
280
281
              Level 2
            </div>
282
            <div class="span3">
283
284
285
              Level 2
            </div>
          </div>
286
287
        </div>
      </div>
288
289
    </div>
    <div class="span6">
290
291
292
293
294
<pre class="prettyprint linenums">
&lt;div class="row"&gt;
  &lt;div class="span12"&gt;
    Level 1 of column
    &lt;div class="row"&gt;
295
296
      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
      &lt;div class="span6"&gt;Level 2&lt;/div&gt;
297
298
299
300
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
301
    </div>
302
303
  </div>

304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
  <h2>Grid customization</h2>
  <table class="zebra-striped">
    <thead>
      <tr>
        <th>Variable</th>
        <th>Default value</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>@gridColumns</code></td>
        <td>16</td>
        <td>The number of columns within the grid</td>
      </tr>
      <tr>
        <td><code>@gridColumnWidth</code></td>
        <td>40px</td>
        <td>The width of each column within the grid</td>
      </tr>
      <tr>
        <td><code>@gridGutterWidth</code></td>
        <td>20px</td>
        <td>The negative space between each column</td>
      </tr>
      <tr>
        <td><code>@siteWidth</code></td>
        <td><em>Computed sum of all columns and gutters</em></td>
        <td>We use some basic match to count the number of columns and gutters and set the width of the <code>.fixed-container()</code> mixin.</td>
      </tr>
    </tbody>
  </table>
336
  <div class="row">
337
338
339
    <div class="span4">
      <h3>Variables in LESS</h3>
      <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in mixins.less.</p>
340
    </div>
341
342
343
    <div class="span4">
      <h3>How to customize</h3>
      <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the <a href="#compiling">four ways documented to recompile</a>.</p>
344
    </div>
345
346
347
348
349
350
    <div class="span4">
      <h3>Staying responsive</h3>
      <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
    </div>
  </div><!-- /row -->

351
352
353
354
</section>



Mark Otto's avatar
Mark Otto committed
355
356
<!-- Layouts (Default and fluid)
================================================== -->
357
358
359
360
<section id="layouts">
  <div class="page-header">
    <h1>Layouts <small>Basic templates to create webpages</small></h1>
  </div>
Mark Otto's avatar
Mark Otto committed
361

362
  <div class="row">
363
    <div class="span6">
364
      <h2>Fixed layout</h2>
365
      <p>The default and simple 940px-wide, centered layout for just about any website or page provided by a single <code>&lt;div.container&gt;</code>.</p>
366
367
368
      <div class="mini-layout">
        <div class="mini-layout-body"></div>
      </div>
369
<pre class="prettyprint linenums">
370
371
372
373
374
375
&lt;body&gt;
  &lt;div class="container"&gt;
    ...
  &lt;/div&gt;
&lt;/body&gt;
</pre>
376
    </div><!-- /col -->
377
    <div class="span6">
378
      <h2>Fluid layout</h2>
379
      <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
380
381
382
383
      <div class="mini-layout fluid">
        <div class="mini-layout-sidebar"></div>
        <div class="mini-layout-body"></div>
      </div>
384
<pre class="prettyprint linenums">
385
386
387
388
389
390
391
392
393
394
395
&lt;body&gt;
  &lt;div class="container-fluid"&gt;
    &lt;div class="sidebar"&gt;
      ...
    &lt;/div&gt;
    &lt;div class="content"&gt;
      ...
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;
</pre>
396
397
    </div><!-- /col -->
  </div><!-- /row -->
398
399
400
401
</section>



Mark Otto's avatar
Mark Otto committed
402
403
<!-- Typography
================================================== -->
404
<section id="typography">
Mark Otto's avatar
Mark Otto committed
405
406
  <div class="page-header">
    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
407
  </div>
408

Mark Otto's avatar
Mark Otto committed
409
410
  <!-- Headings & Paragraph Copy -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
411
    <div class="span4">
412
      <h2>Headings &amp; copy</h2>
Mark Otto's avatar
Mark Otto committed
413
      <p>A standard typographic hierarchy for structuring your webpages.</p>
414
415
      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@basefont</code> and <code>@baseline</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
      <p>We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.</p>
Mark Otto's avatar
Mark Otto committed
416
    </div>
Mark Otto's avatar
Mark Otto committed
417
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
418
419
420
421
422
423
424
      <h1>h1. Heading 1</h1>
      <h2>h2. Heading 2</h2>
      <h3>h3. Heading 3</h3>
      <h4>h4. Heading 4</h4>
      <h5>h5. Heading 5</h5>
      <h6>h6. Heading 6</h6>
    </div>
425
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
426
427
428
429
      <h3>Example paragraph</h3>
      <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
      <h1>Example heading <small>Has sub-heading&hellip;</small></h1>
    </div>
430
431
  </div>

Mark Otto's avatar
Mark Otto committed
432
433
  <!-- Misc Elements -->
  <div class="row">
434
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
435
436
437
438
439
440
441
442
443
      <h2>Misc. elements</h2>
      <p>Using emphasis, addresses, &amp; abbreviations</p>
      <p>
        <code>&lt;strong&gt;</code>
        <code>&lt;em&gt;</code>
        <code>&lt;address&gt;</code>
        <code>&lt;abbr&gt;</code>
      </p>
    </div>
444
    <div class="span9">
445
      <h3>When to use</h3>
Mark Otto's avatar
Mark Otto committed
446
447
448
      <p>Emphasis tags (<code>&lt;strong&gt;</code> and <code>&lt;em&gt;</code>) should be used to indicate additional importance or emphasis of a word or phrase relative to its surrounding copy. Use <code>&lt;strong&gt;</code> for importance and <code>&lt;em&gt;</code> for <em>stress</em> emphasis.</p>
      <h3>Emphasis in a paragraph</h3>
      <p><a href="#">Fusce dapibus</a>, <strong>tellus ac cursus commodo</strong>, <em>tortor mauris condimentum nibh</em>, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.</p>
449
      <p><strong>Note:</strong> It's still okay to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> tags in HTML5 and they don't have to be styled bold and italic, respectively (although if there is a more semantic element, use it). <code>&lt;b&gt;</code> is meant to highlight words or phrases without conveying additional importance, while <code>&lt;i&gt;</code> is mostly for voice, technical terms, etc.</p>
Mark Otto's avatar
Mark Otto committed
450
      <h3>Addresses</h3>
Mark Otto's avatar
Mark Otto committed
451
452
453
454
455
      <p>The <code>&lt;address&gt;</code> element is used for contact information for its nearest ancestor, or the entire body of work. Here are two examples of how it could be used:</p>

      <div class="row">
        <div class="span4">
          <address>
456
457
458
            <strong>Twitter, Inc.</strong><br>
            795 Folsom Ave, Suite 600<br>
            San Francisco, CA 94107<br>
Mark Otto's avatar
Mark Otto committed
459
460
461
462
463
            <abbr title="Phone">P:</abbr> (123) 456-7890
          </address>
        </div>
        <div class="span4">
          <address>
464
            <strong>Full Name</strong><br>
Mark Otto's avatar
Mark Otto committed
465
466
467
468
469
            <a mailto="">first.last@gmail.com</a>
          </address>
        </div>
      </div>

Mark Otto's avatar
Mark Otto committed
470
471
472
473
      <p><strong>Note:</strong> Each line in an <code>&lt;address&gt;</code> must end with a line-break (<code>&lt;br /&gt;</code>) or be wrapped in a block-level tag (e.g., <code>&lt;p&gt;</code>) to properly structure the content.</p>
      <h3>Abbreviations</h3>
      <p>For abbreviations and acronyms, use the <code>&lt;abbr&gt;</code> tag (<code>&lt;acronym&gt;</code> is deprecated in <abbr title="HyperText Markup Langugage 5">HTML5</abbr>). Put the shorthand form within the tag and set a title for the complete name.</p>
    </div>
474
  </div><!-- /row -->
475

Mark Otto's avatar
Mark Otto committed
476
477
  <!-- Blockquotes -->
  <div class="row">
478
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
479
480
481
482
483
484
485
      <h2>Blockquotes</h2>
      <p>
        <code>&lt;blockquote&gt;</code>
        <code>&lt;p&gt;</code>
        <code>&lt;small&gt;</code>
      </p>
    </div>
486
    <div class="span9">
487
      <h3>How to quote</h3>
Mark Otto's avatar
Mark Otto committed
488
      <p>To include a blockquote, wrap <code>&lt;blockquote&gt;</code> around <code>&lt;p&gt;</code> and <code>&lt;small&gt;</code> tags. Use the <code>&lt;small&gt;</code> element to cite your source and you'll get an em dash <code>&amp;mdash;</code> before it.</p>
Mark Otto's avatar
Mark Otto committed
489
      <blockquote>
Mark Otto's avatar
Mark Otto committed
490
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
Mark Otto's avatar
Mark Otto committed
491
492
        <small>Dr. Julius Hibbert</small>
      </blockquote>
493
494
495
496
497
498
<pre class="prettyprint linenums">
&lt;blockquote&gt;
  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.&lt;/p&gt;
  &lt;small&gt;Dr. Julius Hibbert&lt;/small&gt;
&lt;/blockquote&gt;
</pre>
Mark Otto's avatar
Mark Otto committed
499
    </div>
500
  </div><!-- /row -->
501

Mark Otto's avatar
Mark Otto committed
502
503
  <h2>Lists</h2>
  <div class="row">
504
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
505
506
      <h4>Unordered <code>&lt;ul&gt;</code></h4>
      <ul>
Mark Otto's avatar
Mark Otto committed
507
508
509
510
511
        <li>Lorem ipsum dolor sit amet</li>
        <li>Consectetur adipiscing elit</li>
        <li>Integer molestie lorem at massa</li>
        <li>Facilisis in pretium nisl aliquet</li>
        <li>Nulla volutpat aliquam velit
Mark Otto's avatar
Mark Otto committed
512
          <ul>
Mark Otto's avatar
Mark Otto committed
513
514
515
516
            <li>Phasellus iaculis neque</li>
            <li>Purus sodales ultricies</li>
            <li>Vestibulum laoreet porttitor sem</li>
            <li>Ac tristique libero volutpat at</li>
Mark Otto's avatar
Mark Otto committed
517
518
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
519
520
521
        <li>Faucibus porta lacus fringilla vel</li>
        <li>Aenean sit amet erat nunc</li>
        <li>Eget porttitor lorem</li>
Mark Otto's avatar
Mark Otto committed
522
523
      </ul>
    </div>
524
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
525
526
      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
      <ul class="unstyled">
Mark Otto's avatar
Mark Otto committed
527
528
529
530
531
        <li>Lorem ipsum dolor sit amet</li>
        <li>Consectetur adipiscing elit</li>
        <li>Integer molestie lorem at massa</li>
        <li>Facilisis in pretium nisl aliquet</li>
        <li>Nulla volutpat aliquam velit
Mark Otto's avatar
Mark Otto committed
532
          <ul>
Mark Otto's avatar
Mark Otto committed
533
534
535
536
            <li>Phasellus iaculis neque</li>
            <li>Purus sodales ultricies</li>
            <li>Vestibulum laoreet porttitor sem</li>
            <li>Ac tristique libero volutpat at</li>
Mark Otto's avatar
Mark Otto committed
537
538
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
539
540
541
        <li>Faucibus porta lacus fringilla vel</li>
        <li>Aenean sit amet erat nunc</li>
        <li>Eget porttitor lorem</li>
Mark Otto's avatar
Mark Otto committed
542
543
      </ul>
    </div>
544
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
545
546
      <h4>Ordered <code>&lt;ol&gt;</code></h4>
      <ol>
Mark Otto's avatar
Mark Otto committed
547
548
549
550
551
552
553
554
        <li>Lorem ipsum dolor sit amet</li>
        <li>Consectetur adipiscing elit</li>
        <li>Integer molestie lorem at massa</li>
        <li>Facilisis in pretium nisl aliquet</li>
        <li>Nulla volutpat aliquam velit</li>
        <li>Faucibus porta lacus fringilla vel</li>
        <li>Aenean sit amet erat nunc</li>
        <li>Eget porttitor lorem</li>
Mark Otto's avatar
Mark Otto committed
555
556
      </ol>
    </div>
557
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
558
559
560
561
562
563
564
565
566
567
568
      <h4>Description <code>dl</code></h4>
      <dl>
        <dt>Description lists</dt>
        <dd>A description list is perfect for defining terms.</dd>
        <dt>Euismod</dt>
        <dd>Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.</dd>
        <dd>Donec id elit non mi porta gravida at eget metus.</dd>
        <dt>Malesuada porta</dt>
        <dd>Etiam porta sem malesuada magna mollis euismod.</dd>
      </dl>
    </div>
569
  </div><!-- /row -->
570
571
572
573


  <!-- Code -->
  <div class="row">
574
    <div class="span3">
575
576
577
578
579
580
581
      <h2>Code</h2>
      <p>
        <code>&lt;code&gt;</code>
        <code>&lt;pre&gt;</code>
      </p>
      <p>Pimp your code in style with two simple tags. For even more awesomeness through javascript, drop in Google's code prettify library and you're set.</p>
    </div>
582
    <div class="span9">
583
584
      <h3>Presenting code</h3>
      <p>Code, blocks of or just snippets inline, can be displayed with style just by wrapping in the right tag. For blocks of code spanning multiple lines, use the <code>&lt;pre&gt;</code> element. For inline code, use the <code>&lt;code&gt;</code> element.</p>
Mark Otto's avatar
Mark Otto committed
585
      <table class="zebra-striped">
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
        <thead>
          <tr>
            <th style="width: 190px;">Element</th>
            <th>Result</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td><code>&lt;code&gt;</code></td>
            <td>In a line of text like this, your wrapped code will look like this <code>&gt;html&lt;</code> element.</td>
          </tr>
          <tr>
            <td><code>&lt;pre&gt;</code></td>
            <td>
<pre>&lt;div&gt;
  &lt;h1&gt;Heading&lt;/h1&gt;
  &lt;p&gt;Something right here...&lt;/p&gt;
&lt;/div&gt;</pre>
              <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
            </td>
          </tr>
          <tr>
            <td><code>&lt;pre class="prettyprint"&gt;</code></td>
            <td>
              <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting.</p>
<pre class="prettyprint">&lt;div&gt;
  &lt;h1&gt;Heading&lt;/h1&gt;
  &lt;p&gt;Something right here...&lt;/p&gt;
&lt;/div&gt;</pre>
              <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div><!-- /row -->

  <!-- Labels -->
  <div class="row">
625
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
626
      <h2>Inline labels</h2>
627
628
629
      <p>
        <code>&lt;span class="label"&gt;</code>
      </p>
630
      <p>Call attention to or flag any phrase in your body text.</p>
631
    </div>
632
    <div class="span9">
633
634
      <h3>Label anything</h3>
      <p>Ever needed one of those fancy <span class="label success">New!</span> or <span class="label important">Important</span> flags when writing code? Well, now you have them. Here's what's included by default:</p>
Mark Otto's avatar
Mark Otto committed
635
      <table class="zebra-striped">
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
        <thead>
          <tr>
            <th style="width: 50%;">Label</th>
            <th>Result</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>
              <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
            </td>
            <td>
              <span class="label">Default</span>
            </td>
          </tr>
          <tr>
            <td>
              <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
            </td>
            <td>
              <span class="label success">New</span>
            </td>
          </tr>
          <tr>
            <td>
              <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
            </td>
            <td>
              <span class="label warning">Warning</span>
            </td>
          </tr>
          <tr>
            <td>
              <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
            </td>
            <td>
              <span class="label important">Important</span>
            </td>
          </tr>
          <tr>
            <td>
              <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
            </td>
            <td>
              <span class="label notice">Notice</span>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div><!-- /row -->

688
689
690
691
</section>



Mark Otto's avatar
Mark Otto committed
692
693
<!-- Tables
================================================== -->
694
<section id="tables">
Mark Otto's avatar
Mark Otto committed
695
696
  <div class="page-header">
    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
697
  </div>
Mark Otto's avatar
Mark Otto committed
698
699
  <!-- Table structure -->
  <div class="row">
700
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
      <h2>Building tables</h2>
      <p>
        <code>&lt;table&gt;</code>
        <code>&lt;thead&gt;</code>
        <code>&lt;tbody&gt;</code>
        <code>&lt;tr&gt;</code>
        <code>&lt;th&gt;</code>
        <code>&lt;td&gt;</code>
        <code>&lt;colspan&gt;</code>
        <code>&lt;caption&gt;</code>
      </p>
      <p>Tables are great&mdash;for a lot of things. Great tables, however, need a bit of markup love to be useful, scalable, and readable (at the code level). Here are a few tips to help.</p>
      <p>Always wrap your column headers in a <code>&lt;thead&gt;</code> such that hierarchy is <code>&lt;thead&gt;</code> > <code>&lt;tr&gt;</code> > <code>&lt;th&gt;</code>.</p>
      <p>Similar to the column headers, all your table’s body content should be wrapped in a <code>&lt;tbody&gt;</code> so your hierarchy is <code>&lt;tbody&gt;</code> > <code>&lt;tr&gt;</code> > <code>&lt;td&gt;</code>.</p>
    </div>
716
    <div class="span9">
Mark Otto's avatar
Mark Otto committed
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
      <h3>Example: Default table styles</h3>
      <p>All tables will be automatically styled with only the essential borders to ensure readability and maintain structure. No need to add extra classes or attributes.</p>
      <table>
        <thead>
          <tr>
            <th>#</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Language</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1</td>
            <td>Some</td>
            <td>One</td>
            <td>English</td>
          </tr>
          <tr>
            <td>2</td>
            <td>Joe</td>
            <td>Sixpack</td>
            <td>English</td>
          </tr>
          <tr>
            <td>3</td>
            <td>Stu</td>
            <td>Dent</td>
            <td>Code</td>
          </tr>
        </tbody>
      </table>
749
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
750
&lt;table&gt;
751
752
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
      <h3>Example: Zebra-striped</h3>
      <p>Get a little fancy with your tables by adding zebra-striping&mdash;just add the <code>.zebra-striped</code> class.</p>
      <table class="zebra-striped">
        <thead>
          <tr>
            <th>#</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Language</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1</td>
            <td>Some</td>
            <td>One</td>
            <td>English</td>
          </tr>
          <tr>
            <td>2</td>
            <td>Joe</td>
            <td>Sixpack</td>
            <td>English</td>
          </tr>
          <tr>
            <td>3</td>
            <td>Stu</td>
            <td>Dent</td>
            <td>Code</td>
          </tr>
        </tbody>
      </table>
785
      <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
786
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
787
&lt;table class="zebra-striped"&gt;
788
789
...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
      <h3>Example: Zebra-striped w/ TableSorter.js</h3>
      <p>Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via <a href="http://jquery.com">jQuery</a> and the <a href="http://tablesorter.com/docs/">Tablesorter</a> plugin. <strong>Click any column’s header to change the sort.</strong></p>
      <table class="zebra-striped" id="sortTableExample">
        <thead>
          <tr>
            <th>#</th>
            <th class="yellow">First Name</th>
            <th class="blue">Last Name</th>
            <th class="green">Language</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1</td>
            <td>Your</td>
            <td>One</td>
            <td>English</td>
          </tr>
          <tr>
            <td>2</td>
            <td>Joe</td>
            <td>Sixpack</td>
            <td>English</td>
          </tr>
          <tr>
            <td>3</td>
            <td>Stu</td>
            <td>Dent</td>
            <td>Code</td>
          </tr>
        </tbody>
      </table>
822
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
823
824
825
826
&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
&lt;script &gt;
  $(function() {
    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
827
828
  });
&lt;/script&gt;
Mark Otto's avatar
Mark Otto committed
829
&lt;table class="zebra-striped"&gt;
830
831
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
832
    </div>
833
  </div><!-- /row -->
834
835
836
837
</section>



Mark Otto's avatar
Mark Otto committed
838
839
<!-- Forms
================================================== -->
840
<section id="forms">
Mark Otto's avatar
Mark Otto committed
841
842
  <div class="page-header">
    <h1>Forms</h1>
843
  </div>
844
  <div class="row">
845
    <div class="span4">
846
847
848
849
850
851
852
853
854
      <h3>Four types of forms</h3>
      <p>With 2.0, we now have four types of forms to choose from:</p>
      <ul>
        <li>Search form for a super-rounded input and optional button</li>
        <li>Inline form for a series of elements on one line</li>
        <li>Horizontal form for left-aligned labels</li>
        <li>Vertical form for stacked labels and inputs</li>
      </ul>
    </div>
855
    <div class="span4">
856
857
      <h3></h3>
    </div>
858
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
859
  <div class="row">
860
    <div class="span3">
861
      <h2>Search form</h2>
Mark Otto's avatar
Mark Otto committed
862
    </div>
863
    <div class="span9">
864
865
866
867
868
869
      <div class="well">
        <form class="form-search">
          <input type="text" class="search-query">
          <button type="submit" class="btn">Search</button>
        </form>
      </div><!--/well-->
870
    </div>
871
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
872
  <div class="row">
873
    <div class="span3">
874
      <h2>Inline form</h2>
875
    </div>
876
    <div class="span9">
877
878
879
880
881
882
883
884
885
886
      <div class="well">
        <form class="form-inline">
          <h4>Some directional text</h4>
          <p>And maybe some kind of optional supporting text right here.</p>
          <input type="text" class="input-medium">
          <input type="text" class="input-medium">
          <input type="text" class="input-medium">
          <button type="submit" class="btn">Search</button>
        </form>
      </div><!--/well-->
887
    </div>
888
  </div><!-- /row -->
889
  <div class="row">
890
    <div class="span3">
891
      <h2>Horizontal form</h2>
892
    </div>
893
    <div class="span9">
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
      <form class="form-horizontal">
        <legend>Example form</legend>
        <fieldset class="control-group">
          <label class="control-label" for="input01">Text input</label>
          <div class="controls">
            <input type="text" class="xlarge" name="input01">
            <p class="help-text">Help text here. Be sure to fill this out like so, or else!</p>
          </div>
        </fieldset>
        <fieldset class="control-group">
          <label class="control-label" for="select01">Select list</label>
          <div class="controls">
            <select name="select01">
              <option>1</option>
              <option>2</option>
              <option>3</option>
              <option>4</option>
              <option>5</option>
            </select>
          </div>
        </fieldset>
        <fieldset class="control-group">
          <label class="control-label" for="multiSelect">Multi-select</label>
          <div class="controls">
            <select multiple="multiple" name="multiSelect">
              <option>1</option>
              <option>2</option>
              <option>3</option>
              <option>4</option>
              <option>5</option>
            </select>
          </div>
        </fieldset>
        <legend>Example form</legend>
        <fieldset class="control-group">
          <label class="control-label" for="fileInput">File input</label>
          <div class="controls">
931
            <input class="input-file" id="fileInput" name="fileInput" type="file">
932
933
934
935
936
937
938
939
940
941
942
          </div>
        </fieldset>
        <fieldset class="control-group has-error">
          <label class="control-label" for="inputError">Input with error</label>
          <div class="controls">
            <input type="text" name="inputError">
          </div>
        </fieldset>
        <fieldset class="control-group has-error">
          <label class="control-label" for="textareaError">Textarea with error</label>
          <div class="controls">
943
            <textarea class="input-xlarge" rows="3"></textarea>
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
          </div>
        </fieldset>
        <fieldset class="control-group">
          <label class="control-label" for="optionsCheckboxes">Checkboxes</label>
          <div class="controls">
            <div class="control-list">
              <label class="checkbox">
                <input type="checkbox" name="optionsCheckboxes" value="option1">
                Option one is this and that&mdash;be sure to include why it’s great
              </label>
              <label class="checkbox">
                <input type="checkbox" name="optionsCheckboxes" value="option2">
                Option two can also be checked and included in form results
              </label>
              <label class="checkbox">
                <input type="checkbox" name="optionsCheckboxes" value="option3">
                Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results
              </label>
              <label class="checkbox">
                <input type="checkbox" name="optionsCheckboxes" value="option4">
                Option four cannot be checked as it is disabled
              </label>
            </div>
            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
          </div>
        </fieldset>
        <fieldset class="control-group">
          <label class="control-label" for="optionsRadios">Radio buttons</label>
          <div class="controls">
            <div class="control-list">
              <label>
975
                <input type="radio" checked name="optionsRadios" value="option1">
976
977
978
                <span>Option one is this and that&mdash;be sure to include why it’s great</span>
              </label>
              <label>
979
                <input type="radio" name="optionsRadios" value="option2">
980
981
982
983
984
985
986
987
988
989
                <span>Option two can is something else and selecting it will deselect options 1</span>
              </label>
            </div>
            <p class="help-text"><strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.</p>
          </div>
        </fieldset>
        <fieldset class="form-actions">
          <button type="submit" class="btn primary">Save changes</button>
          <button type="reset" class="btn">Cancel</button>
        </fieldset>
990
991
      </form>
    </div>
992
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
993
  <div class="row">
994
    <div class="span3">
995
      <h2>Vertical form</h2>
996
    </div>
997
    <div class="span9">
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
      <form class="form-vertical">
        <legend>Example form</legend>
        <fieldset class="control-group">
          <label class="control-label" for="input01">Label</label>
          <div class="controls">
            <input type="text" class="xlarge" name="input01">
            <p class="help-text">Be sure to fill this out like so, or else!</p>
          </div>
        </fieldset>
        <fieldset class="control-group">
          <label class="control-label" for="select01">Label</label>
          <div class="controls">
            <select name="select01"></select>
          </div>
        </fieldset>
        <fieldset class="control-group">
          <label class="control-label" for="input02">Label</label>
          <div class="controls">
            <div class="control-list">
              <label class="checkbox">
                <input type="checkbox"> Something something something something something
              </label>
              <label class="checkbox">
                <input type="checkbox"> Something something something something
              </label>
              <label class="checkbox">
                <input type="checkbox"> Something something something
              </label>
            </div>
          </div>
        </fieldset>
        <fieldset class="form-actions">
          <button type="submit" class="btn primary">Save changes</button>
          <button type="reset" class="btn">Cancel</button>
        </fieldset>
      </form>
1034
    </div>
1035
1036
1037
  </div><!-- /row -->

  <div class="row">
1038
    <div class="span3">
1039
1040
1041
1042
      <h2>Buttons</h2>
      <p>As a convention, buttons are used for actions while links are used for objects. For instance, "Download" could be a button and "recent activity" could be a link.</p>
      <p>All buttons default to a light gray style, but a number of functional classes can be applied for different color styles. These classes include a blue <code>.primary</code> class, a light-blue <code>.info</code> class, a green <code>.success</code> class, and a red <code>.danger</code> class.</p>
    </div>
1043
    <div class="span9">
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
      <h3>Example buttons</h3>
      <p>Button styles can be applied to anything with the <code>.btn</code> applied. Typically you’ll want to apply these to only <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, and select <code>&lt;input&gt;</code> elements. Here’s how it looks:</p>
      <div class="well" style="padding: 14px 19px;">
        <button class="btn primary">Primary</button>&nbsp;<button class="btn">Default</button>&nbsp;<button class="btn info">Info</button>&nbsp;<button class="btn success">Success</button>&nbsp;<button class="btn danger">Danger</button>
      </div>
      <h3>Alternate sizes</h3>
      <p>Fancy larger or smaller buttons? Have at it!</p>
      <div class="well">
        <a href="#" class="btn large primary">Primary action</a>
        <a href="#" class="btn large">Action</a>
      </div>
      <div class="well" style="padding: 16px 19px;">
        <a href="#" class="btn small primary">Primary action</a>
        <a href="#" class="btn small">Action</a>
      </div>
      <h3>Disabled state</h3>
      <p>For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s <code>.disabled</code> for links and <code>:disabled</code> for <code>&lt;button&gt;</code> elements.</p>
      <h4>Links</h4>
      <div class="well">
        <a href="#" class="btn large primary disabled">Primary action</a>
        <a href="#" class="btn large disabled">Action</a>
      </div>
      <h4>Buttons</h4>
      <div class="well">
        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
      </div>
    </div>
  </div><!-- /row -->

  <div class="row">
1074
    <div class="span3">
1075
1076
      <h2>Button groups</h2>
    </div>
1077
    <div class="span9">
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
      <h3>Example</h3>
      <div class="well">
        <div class="btn-group">
          <a class="btn" href="#">Left</a>
          <a class="btn" href="#">Middle</a>
          <a class="btn" href="#">Right</a>
        </div>
      </div>
      <div class="well">
        <div class="btn-toolbar">
          <div class="btn-group">
            <a class="btn" href="#">1</a>
            <a class="btn" href="#">2</a>
            <a class="btn" href="#">3</a>
            <a class="btn" href="#">4</a>
            <a class="btn" href="#">5</a>
          </div>
          <div class="btn-group">
            <a class="btn" href="#">6</a>
            <a class="btn" href="#">7</a>
            <a class="btn" href="#">8</a>
          </div>
          <div class="btn-group">
            <a class="btn" href="#">9</a>
          </div>
          <div class="btn-group">
            <a class="btn" href="#">10</a>
          </div>
        </div>
      </div>
    </div>
  </div><!-- /row -->

1111
1112
1113
1114
</section>



1115
1116
1117
1118
1119
1120
1121
1122
<!-- Media
================================================== -->
<section id="media">
  <div class="page-header">
    <h1>Media <small>Displaying images and videos</small></h1>
  </div>
  <!-- Table structure -->
  <div class="row">
1123
    <div class="span3">
1124
1125
1126
      <h2>Media grid</h2>
      <p>Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.</p>
    </div>
1127
    <div class="span9">
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
      <h3>Example thumbnails</h3>
      <p>Thumbnails in the <code>.media-grid</code> can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the <code>.span2</code>, <code>.span4</code>, and <code>.span6</code> column sizes.</p>
      <h4>Large</h4>
      <ul class="media-grid">
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/330x230" alt="">
          </a>
        </li>
      </ul>
      <h4>Medium</h4>
      <ul class="media-grid">
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/210x150" alt="">
          </a>
        </li>
      </ul>
      <h4>Small</h4>
      <ul class="media-grid">
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
          </a>
        </li>
        <li>
          <a href="#">
            <img class="thumbnail" src="http://placehold.it/90x90" alt="">
          </a>
        </li>
      </ul>
      <h4>Coding them</h4>
      <p>Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.</p>
<pre class="prettyprint linenums">
&lt;ul class="media-grid"&gt;
  &lt;li&gt;
    &lt;a href="#"&gt;
      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
    &lt;/a&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;a href="#"&gt;
      &lt;img class="thumbnail" src="http://placehold.it/330x230" alt=""&gt;
    &lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</pre>
    </div>
  </div><!-- /row -->
</section>



Mark Otto's avatar
Mark Otto committed
1211
1212
<!-- Navigation
================================================== -->
1213
<section id="navigation">
Mark Otto's avatar
Mark Otto committed
1214
1215
1216
1217
  <div class="page-header">
    <h1>Navigation</h1>
  </div>
  <h2>Fixed topbar</h2>
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
  <div class="navbar navbar-static" data-dropdown="dropdown">
    <div class="navbar-inner">
      <div class="container">
        <a class="brand" href="#">Project Name</a>
        <ul class="nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Link</a></li>
          <li><a href="#">Link</a></li>
          <li><a href="#">Link</a></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle">Dropdown</a>
            <ul class="dropdown-menu">
              <li><a href="#">Secondary link</a></li>
              <li><a href="#">Something else here</a></li>
              <li class="divider"></li>
              <li><a href="#">Another link</a></li>
            </ul>
          </li>
        </ul>
        <form class="form-search navbar-search pull-left" action="">
Mark Otto's avatar
Mark Otto committed
1238
          <input type="text" class="search-query" placeholder="Search">
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
        </form>
        <ul class="nav secondary-nav">
          <li class="dropdown">
            <a href="#" class="dropdown-toggle">Dropdown</a>
            <ul class="dropdown-menu">
              <li><a href="#">Secondary link</a></li>
              <li><a href="#">Something else here</a></li>
              <li class="divider"></li>
              <li><a href="#">Another link</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div><!-- /topbar-inner -->
  </div><!-- /topbar -->
1254

Mark Otto's avatar
Mark Otto committed
1255
  <div class="row">
1256
    <div class="span4">
1257
      <h4>What is it</h4>
1258
      <p>Our topbar is a fixed bar that houses a website’s logo or name, primary navigation, and search form.</p>
Mark Otto's avatar
Mark Otto committed
1259
    </div>
1260
    <div class="span4">
1261
1262
1263
      <h4>Customizable</h4>
      <p>All elements within, and the entire topbar as well, are optional. You can choose to include a logo/name, nav, search, and a secondary nav&mdash;or any combination of that.</p>
    </div>
1264
    <div class="span4">
1265
      <h4>Dropdowns included</h4>
1266
      <p>As part of the main navigation, we’ve included the ability for you to add dropdowns to your nav. Check out the secondary nav above (right aligned) to see how it’s done. Dropdowns <code>li</code> tags also support <code>.active</code> for showing current page selection.</p>
Mark Otto's avatar
Mark Otto committed
1267
1268
    </div>
  </div>
1269
  <p><strong>Note:</strong> When using the topbar on any page, be sure to account for the overlap it causes by adding <code>padding-top: 40px;</code> to your <code>body</code>.</p>
Mark Otto's avatar
Mark Otto committed
1270

1271
  <br>
1272

1273
  <div class="row">
1274
    <div class="span3">
1275
1276
1277
1278
      <h2>Tabs and pills</h2>
      <p>Create simple secondary navigation with a <code>&lt;ul&gt;</code>. Swap between tabs or pills by adding the appropriate class.</p>
      <p>Great for sub-sections of content like our account settings pages and user timelines for toggling between pages of like content. Available in tabbed or pill styles.</p>
    </div>
1279
    <div class="span9">
1280
1281
      <h3>Basic tabs example</h3>
      <p>Tabs can be used as regular navigation (loading external pages in the same tab) or as tabbable content areas for swapping out panes of content. We have a <a href="./javascript.html#tabs">tabs plugin</a> that can be used to integrate the latter.</p>
1282
      <ul class="tabs">
Mark Otto's avatar
Mark Otto committed
1283
        <li class="active"><a href="#">Home</a></li>
1284
1285
1286
1287
        <li><a href="#">Profile</a></li>
        <li><a href="#">Messages</a></li>
        <li><a href="#">Settings</a></li>
        <li><a href="#">Contact</a></li>
1288
        <li class="dropdown" data-dropdown="dropdown">
1289
1290
1291
1292
1293
1294
1295
1296
          <a href="#" class="dropdown-toggle">Dropdown</a>
          <ul class="dropdown-menu">
            <li><a href="#">Secondary link</a></li>
            <li><a href="#">Something else here</a></li>
            <li class="divider"></li>
            <li><a href="#">Another link</a></li>
          </ul>
        </li>
1297
      </ul>
1298
<pre class="prettyprint linenums">
1299
&lt;ul class="tabs"&gt;
Mark Otto's avatar
Mark Otto committed
1300
1301
1302
1303
1304
  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
1305
1306
&lt;/ul&gt;
</pre>
1307
1308
1309
      <h3>Alternate tabs</h3>
      <p>You can also use tabs that are stacked on either side of an element, or on the bottom.</p>
      <div class="row">
1310
        <div class="span2">
1311
1312
1313
1314
1315
1316
1317
1318
1319
          <div class="clearfix">
            <ul class="tabs tabs-left">
              <li class="active"><a href="#">Active link</a></li>
              <li><a href="#">Link</a></li>
              <li><a href="#">Linky link</a></li>
              <li><a href="#">What up link</a></li>
            </ul>
          </div>
        </div>
1320
        <div class="span2">
1321
1322
1323
1324
1325
1326
1327
1328
1329
          <div class="clearfix">
            <ul class="tabs tabs-right">
              <li class="active"><a href="#">Active link</a></li>
              <li><a href="#">Link</a></li>
              <li><a href="#">Linky link</a></li>
              <li><a href="#">What up link</a></li>
            </ul>
          </div>
        </div>
1330
        <div class="span5">
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
          <div class="clearfix">
            <ul class="tabs tabs-bottom">
              <li class="active"><a href="#">Active link</a></li>
              <li><a href="#">Link</a></li>
              <li><a href="#">Linky link</a></li>
            </ul>
          </div>
        </div>
      </div>
      <h3>Tabbable tabs</h3>
      <p>As mentioned above, you can bring your tabs to life with a simple plugin. Here we have integrated all four variations of the tabs&mdash;default (top), right, bottom, left&mdash;with example tab areas.</p>

      <div class="tabbable">
        <ul class="tabs" data-tabs="tabs">
          <li class="active"><a href="#1">Section 1</a></li>
          <li><a href="#2">Section 2</a></li>
          <li><a href="#3">Section 3</a></li>
          <li><a href="#4">Section 4</a></li>
        </ul>
        <div class="tab-content">
          <div class="tab-pane active" id="1">
            <p>Oh hai #1!</p>
          </div>
          <div class="tab-pane" id="2">
            <p>Oh hai #2!</p>
          </div>
          <div class="tab-pane" id="3">
            <p>Oh hai #3!</p>
          </div>
          <div class="tab-pane" id="4">
            <p>Oh hai #4!</p>
          </div>
        </div>
      </div>

       <div class="row">
1367
        <div class="span4">
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
          <div class="tabbable tabs-left">
            <ul class="tabs" data-tabs="tabs">
              <li class="active"><a href="#1">Section 1</a></li>
              <li><a href="#2">Section 2</a></li>
              <li><a href="#3">Section 3</a></li>
            </ul>
            <div class="tab-content" id="myTabContent2">
              <div class="tab-pane active" id="1">
                <h4>Section 1</h4>
                <p>Oh hai!</p>
              </div>
              <div class="tab-pane" id="2">
                <h4>Section 2</h4>
                <p>Oh hai!</p>
              </div>
              <div class="tab-pane" id="3">
                <h4>Section 3</h4>
                <p>Oh hai!</p>
              </div>
            </div>
          </div>
        </div>
1390
        <div class="span5">
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
          <div class="tabbable tabs-right">
            <ul class="tabs" data-tabs="tabs">
              <li class="active"><a href="#1">Section 1</a></li>
              <li><a href="#2">Section 2</a></li>
              <li><a href="#3">Section 3</a></li>
            </ul>
            <div class="tab-content" id="myTabContent3">
              <div class="tab-pane active" id="1">
                <h4>Section 1</h4>
                <p>Oh hai!</p>
              </div>
              <div class="tab-pane" id="2">
                <h4>Section 2</h4>
                <p>Oh hai!</p>
              </div>
              <div class="tab-pane" id="3">
                <h4>Section 3</h4>
                <p>Oh hai!</p>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div class="tabbable tabs-bottom">
        <div class="tab-content">
          <div class="tab-pane active" id="1">
            <p>Oh hai #1!</p>
          </div>
          <div class="tab-pane" id="2">
            <p>Oh hai #2!</p>
          </div>
          <div class="tab-pane" id="3">
            <p>Oh hai #3!</p>
          </div>
          <div class="tab-pane" id="4">
            <p>Oh hai #4!</p>
          </div>
        </div>
        <ul class="tabs" data-tabs="tabs">
          <li class="active"><a href="#1">Section 1</a></li>
          <li><a href="#2">Section 2</a></li>
          <li><a href="#3">Section 3</a></li>
          <li><a href="#4">Section 4</a></li>
        </ul>
      </div>


      <p>In addition to tabs, we have pills! Though a bit more limited in functionality, they share much of the same markup.</p>
      <hr>
      <h3>Basic pills example</h3>
1442
1443
1444
1445
1446
1447
1448
      <ul class="pills">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#">Profile</a></li>
        <li><a href="#">Messages</a></li>
        <li><a href="#">Settings</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
1449
<pre class="prettyprint linenums">
1450
&lt;ul class="pills"&gt;
Mark Otto's avatar
Mark Otto committed
1451
1452
1453
1454
1455
  &lt;li class="active"&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Profile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Messages&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Settings&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
1456
1457
&lt;/ul&gt;
</pre>
1458
1459
1460
1461
1462
1463
1464
1465
1466
      <h3>Vertical pill nav</h3>
      <p>With a pill-style nav, you can also stack the list items to have a simple sidebar. We don't offer left or right aligned versions here because that's easy enough to customize based on your own needs</p>
      <ul class="pills pills-vertical span4">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#">Profile</a></li>
        <li><a href="#">Messages</a></li>
        <li><a href="#">Settings</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
1467
    </div>
1468
  </div><!-- /row -->
1469

Mark Otto's avatar
Mark Otto committed
1470
1471
  <!-- Breadcrumbs -->
  <div class="row">
1472
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
1473
1474
1475
      <h2>Breadcrumbs</h2>
      <p>Breadcrumb navigation is used as a way to show users where they are within an app or a site, but not for primary navigation.</p>
    </div>
1476
    <div class="span9">
Mark Otto's avatar
Mark Otto committed
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
      <ul class="breadcrumb">
        <li class="active">Home</li>
      </ul>
      <ul class="breadcrumb">
        <li><a href="#">Home</a> <span class="divider">/</span></li>
        <li class="active">Middle page</li>
      </ul>
      <ul class="breadcrumb">
        <li><a href="#">Home</a> <span class="divider">/</span></li>
        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
        <li class="active">Another one</li>
      </ul>
      <ul class="breadcrumb">
        <li><a href="#">Home</a> <span class="divider">/</span></li>
        <li><a href="#">Middle page</a> <span class="divider">/</span></li>
        <li><a href="#">Another one</a> <span class="divider">/</span></li>
        <li class="active">You are here</li>
      </ul>
1495
1496
1497
1498
1499
1500
1501
1502
<pre class="prettyprint linenums">
&lt;ul class="breadcrumb"&gt;
  &lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Middle page&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="#"&gt;Another one&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;&lt;/li&gt;
  &lt;li class="active"&gt;You are here&lt;/li&gt;
&lt;/ul&gt;
</pre>
Mark Otto's avatar
Mark Otto committed
1503
1504
1505
    </div>
  </div>

1506
1507
  <!-- Pagination -->
  <div class="row">
1508
    <div class="span3">
1509
1510
      <h2>Pagination</h2>
      <p>Ultra simplistic and minimally styled pagination inspired by Rdio. The large block is hard to miss, easily scalable, and provides large click areas.</p>
1511
    </div>
1512
    <div class="span9">
1513
1514
1515
1516
1517
1518
1519
1520
      <div class="pagination">
        <ul>
          <li class="prev disabled"><a href="#">&larr; Previous</a></li>
          <li class="active"><a href="#">1</a></li>
          <li><a href="#">2</a></li>
          <li><a href="#">3</a></li>
          <li><a href="#">4</a></li>
          <li><a href="#">5</a></li>
1521
          <li class="next"><a href="#">Next &raquo;</a></li>
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
        </ul>
      </div>
      <div class="pagination">
        <ul>
          <li class="prev"><a href="#">&larr; Previous</a></li>
          <li class="active"><a href="#">10</a></li>
          <li><a href="#">11</a></li>
          <li><a href="#">12</a></li>
          <li class="disabled"><a href="#"></a></li>
          <li><a href="#">19</a></li>
          <li><a href="#">20</a></li>
          <li><a href="#">21</a></li>
1534
          <li class="next"><a href="#">Next &raquo;</a></li>
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
        </ul>
      </div>
      <div class="pagination">
        <ul>
          <li class="prev"><a href="#">&larr; Previous</a></li>
          <li><a href="#">10</a></li>
          <li><a href="#">11</a></li>
          <li><a href="#">12</a></li>
          <li><a href="#">13</a></li>
          <li><a href="#">14</a></li>
          <li class="active"><a href="#">15</a></li>
          <li><a href="#">16</a></li>
          <li><a href="#">17</a></li>
          <li><a href="#">18</a></li>
          <li><a href="#">19</a></li>
          <li><a href="#">20</a></li>
1551
          <li class="next"><a href="#">Next &raquo;</a></li>
1552
1553
        </ul>
      </div>
1554
<pre class="prettyprint linenums">
1555
1556
&lt;div class="pagination"&gt;
  &lt;ul&gt;
Mark Otto's avatar
Mark Otto committed
1557
1558
1559
1560
1561
1562
1563
    &lt;li class="prev disabled"&gt;&lt;a href="#"&gt;&amp;larr; Previous&lt;/a&gt;&lt;/li>
    &lt;li class="active"&gt;&lt;a href="#"&gt;1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;4&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;5&lt;/a&gt;&lt;/li&gt;
    &lt;li class="next"&gt;&lt;a href="#"&gt;Next &amp;rarr;&lt;/a&gt;&lt;/li>
1564
1565
1566
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
1567
    </div>
1568
  </div><!-- /row -->
1569
1570
1571
1572
1573

</section>



Mark Otto's avatar
Mark Otto committed
1574
1575
<!-- Alerts & Messages
================================================== -->
1576
1577
<section id="alerts">
  <div class="page-header">
1578
1579
    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
  </div>
1580
  <!-- Basic alert messages -->
1581
  <div class="row">
1582
    <div class="span3">
1583
      <h2>Basic alerts</h2>
1584
      <p><code>.alert-message</code></p>
1585
      <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
1586
      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
1587
    </div>
1588
    <div class="span9">
1589
1590
      <div class="alert-message warning">
        <a class="close" href="#">&times;</a>
1591
        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
1592
      </div>
1593
      <div class="alert-message error">
1594
        <a class="close" href="#">&times;</a>
1595
        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
1596
1597
1598
1599
1600
1601
1602
      </div>
      <div class="alert-message success">
        <a class="close" href="#">&times;</a>
        <p><strong>Well done!</strong> You successfully read this alert message.</p>
      </div>
      <div class="alert-message info">
        <a class="close" href="#">&times;</a>
1603
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1604
      </div>
1605
1606
1607
1608
1609
1610
1611
1612

      <h4>Example code</h4>
<pre class="prettyprint linenums">
&lt;div class="alert-message warning"&gt;
  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
  &lt;p&gt;&lt;strong&gt;Holy guacamole!&lt;/strong&gt; Best check yo self, you’re not looking too good.&lt;/p&gt;
&lt;/div&gt;
</pre>
1613
    </div>
1614
  </div><!-- /row -->
1615
  <!-- Block messages -->
1616
  <div class="row">
1617
    <div class="span3">
1618
      <h2>Block messages</h2>
1619
      <p><code>.alert-message.block-message</code></p>
1620
      <p>For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer error messages, warning a user of a pending action, or just presenting information for more emphasis on the page.</p>
1621
      <p><a class="btn js-btn" href="./javascript.html#alerts">Get the javascript &raquo;</a></p>
1622
    </div>
1623
    <div class="span9">
1624
1625
      <div class="alert-message block-message warning">
        <a class="close" href="#">&times;</a>
1626
        <p><strong>Holy guacamole! This is a warning!</strong> Best check yo self, you’re not looking too good. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
1627
1628
1629
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1630
      </div>
1631
      <div class="alert-message block-message error">
1632
        <a class="close" href="#">&times;</a>
1633
1634
1635
1636
1637
1638
        <p><strong>Oh snap! You got an error!</strong> Change this and that and try again.</p>
        <ul>
          <li>Duis mollis est non commodo luctus</li>
          <li>Nisi erat porttitor ligula</li>
          <li>Eget lacinia odio sem nec elit</li>
        </ul>
1639
1640
1641
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1642
1643
1644
1645
      </div>
      <div class="alert-message block-message success">
        <a class="close" href="#">&times;</a>
        <p><strong>Well done!</strong> You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.</p>
1646
1647
1648
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1649
1650
1651
      </div>
      <div class="alert-message block-message info">
        <a class="close" href="#">&times;</a>
1652
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1653
1654
1655
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1656
      </div>
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667

      <h4>Example code</h4>
<pre class="prettyprint linenums">
&lt;div class="alert-message block-message warning"&gt;
  &lt;a class="close" href="#"&gt;&times;&lt;/a&gt;
  &lt;p&gt;&lt;strong&gt;Holy guacamole! This is a warning!&lt;/strong&gt; Best check yo self, you’re not looking too good. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.&lt;/p&gt;
  &lt;div class="alert-actions"&gt;
    &lt;a class="btn small" href="#"&gt;Take this action&lt;/a&gt; &lt;a class="btn small" href="#"&gt;Or do this&lt;/a>
  &lt;/div&gt;
&lt;/div&gt;
</pre>
1668
    </div>
1669
  </div><!-- /row -->
1670
1671
1672
</section>


Mark Otto's avatar
Mark Otto committed
1673
1674
<!-- Popovers
================================================== -->
Mark Otto's avatar
Mark Otto committed
1675
<section id="popovers">
Jacob Thornton's avatar
Jacob Thornton committed
1676
  <div class="page-header">
Mark Otto's avatar
Mark Otto committed
1677
    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
Jacob Thornton's avatar
Jacob Thornton committed
1678
1679
  </div>
  <div class="row">
1680
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
1681
      <h2>Modals</h2>
1682
      <p>Modals&mdash;dialogs or lightboxes&mdash;are great for contextual actions in situations where it’s important that the background context be maintained.</p>
1683
      <p><a class="btn js-btn" href="./javascript.html#modal">Get the javascript &raquo;</a></p>
Jacob Thornton's avatar
Jacob Thornton committed
1684
    </div>
1685
    <div class="span9">
Jacob Thornton's avatar
Jacob Thornton committed
1686
      <div class="well" style="background-color: #888; border: none; padding: 40px;">
1687
        <!-- Modal -->
1688
        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
Jacob Thornton's avatar
Jacob Thornton committed
1689
          <div class="modal-header">
1690
            <a href="#" class="close js-dismiss">&times;</a>
1691
            <h3>Modal Heading</h3>
Jacob Thornton's avatar
Jacob Thornton committed
1692
1693
          </div>
          <div class="modal-body">
1694
            <p>One fine body…</p>
Jacob Thornton's avatar
Jacob Thornton committed
1695
1696
          </div>
          <div class="modal-footer">
Mark Otto's avatar
Mark Otto committed
1697
            <a href="#" class="btn primary">Primary</a>
1698
            <a href="#" class="btn">Secondary</a>
Jacob Thornton's avatar
Jacob Thornton committed
1699
1700
1701
          </div>
        </div>
      </div>
1702
    </div>
1703
  </div><!-- /row -->
1704

1705
  <!-- Tooltips -->
1706
  <div class="row">
1707
    <div class="span3">
Jacob Thornton's avatar
Jacob Thornton committed
1708
      <h2>Tooltips</h2>
1709
      <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
1710
      <p><a class="btn js-btn" href="./javascript.html#twipsy">Get the javascript &raquo;</a></p>
1711
    </div>
1712
    <div class="span9">
1713
1714
1715
      <div class="twipsies well">
        <div style="position: relative">
          <p class="muted" style="margin-bottom: 0">
Jacob Thornton's avatar
Jacob Thornton committed
1716
Lorem ipsum dolar sit amet illo error <a href="#" title="below">ipsum</a> veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. <a href="#" title="right">Voluptasdicta</a> eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt <a href="#" title="left">sed</a> dicta quae accusantium fugit voluptas nemo voluptas voluptatem <a href="#" title="above">rem</a> quae aut veritatis quasi quae.
1717
          </p>
Jacob Thornton's avatar
Jacob Thornton committed
1718
1719
1720
        </div>
      </div>
    </div>
1721
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1722

1723
  <!-- Popovers -->
Mark Otto's avatar
Mark Otto committed
1724
  <div class="row">
1725
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
1726
      <h2>Popovers</h2>
Mark Otto's avatar
Mark Otto committed
1727
      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
1728
      <p><a class="btn js-btn" href="./javascript.html#popover">Get the javascript &raquo;</a></p>
Mark Otto's avatar
Mark Otto committed
1729
    </div>
1730
    <div class="span9">
Mark Otto's avatar
Mark Otto committed
1731
      <div class="well popover-well">
Jacob Thornton's avatar
Jacob Thornton committed
1732
1733
         <div class="popover-wrapper">
          <div class="popover left">
Mark Otto's avatar
Mark Otto committed
1734
1735
            <div class="arrow"></div>
            <div class="inner">
Jacob Thornton's avatar
Jacob Thornton committed
1736
              <h3 class="title">Popover Title</h3>
Mark Otto's avatar
Mark Otto committed
1737
1738
1739
1740
1741
              <div class="content">
                <p>Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
              </div>
            </div>
          </div>
Jacob Thornton's avatar
Jacob Thornton committed
1742
          <img class="large-bird" src="assets/img/bird.png" >
Mark Otto's avatar
Mark Otto committed
1743
1744
1745
        </div>
      </div>
    </div>
1746
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1747
</section>
1748

Mark Otto's avatar
Mark Otto committed
1749

1750
1751
1752
1753
1754
<!-- Using Javascript w/ Bootstrap
 ================================================== -->

 <section id="javascript">
   <div class="page-header">
1755
     <h1>Using javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
1756
1757
   </div>
   <div class="row">
1758
     <div class="span3">
1759
       <h2>Getting started</h2>
1760
       <p>Integrating javascript with the Bootstrap library is super easy. Below we go over the basics and provide you with some awesome plugins to get you started!</p>
1761
       <p><a class="btn primary" href="./javascript.html">View javascript docs &raquo;</a></p>
1762
     </div>
1763
     <div class="span9">
1764
1765
      <h3>What's included</h3>
       <p>Bring some of Bootstrap's primary components to life with new custom plugins that work with <a href="http://jquery.com/" target="_blank">jQuery</a> and <a href="http://ender.no.de" target="_blank">Ender</a>. We encourage you to extend and modify them to fit your specific development needs.</p>
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
       <table class="zebra-striped">
         <thead>
           <tr>
             <th style="width: 150px;">File</th>
             <th>Description</th>
           </tr>
         </thead>
         <tbody>
           <tr>
             <td><a href="./javascript.html#modal">bootstrap-modal.js</a></td>
             <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
           </tr>
           <tr>
             <td><a href="./javascript.html#alerts">bootstrap-alerts.js</a></td>
             <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
           </tr>
           <tr>
             <td><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></td>
Jacob Thornton's avatar
Jacob Thornton committed
1784
             <td>This plugin is for adding dropdown interaction to the bootstrap topbar or tabbed navigations.</td>
1785
           </tr>
1786
1787
1788
1789
           <tr>
             <td><a href="./javascript.html#scrollspy">bootstrap-scrollspy.js</a></td>
             <td>The ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap topbar.</td>
           </tr>
1790
1791
           <tr>
             <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
1792
             <td>This plugin adds quick, dynamic tab and pill functionality for cycling through local content.</td>
1793
           </tr>
1794
1795
           <tr>
             <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
1796
             <td>Based on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for local title storage!</td>
1797
1798
1799
1800
1801
1802
1803
           </tr>
           <tr>
             <td><a href="./javascript.html#popover">bootstrap-popover.js</a></td>
             <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
           </tr>
         </tbody>
       </table>
1804
1805
1806
1807
       <h3>Is javascript necessary?</h3>
       <p><strong>Nope!</strong> Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.</p>
       <p>However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.</p>
       <p>For more information and to see some live demos, please refer to our <a href="./javascript.html">plugin documentation page</a>.</p>
1808
1809
1810
     </div>
   </div>

Mark Otto's avatar
Mark Otto committed
1811

Mark Otto's avatar
Mark Otto committed
1812
1813
<!-- Using Bootstrap w/ Less
================================================== -->
1814
<section id="less">
Mark Otto's avatar
Mark Otto committed
1815
<div class="page-header">
1816
  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
Mark Otto's avatar
Mark Otto committed
1817
1818
</div>
<div class="row">
1819
  <div class="span3">
1820
1821
    <p>Bootstrap was built with <a href="http://markdotto.com/bootstrap/">Preboot</a>, an open-source pack of mixins and variables to be used in conjunction with <a href="http://lesscss.org" target="_blank">Less</a>, a CSS preprocessor for faster and easier web development.</p>
    <p>Check out how we used Preboot in Bootstrap and how you can make use of it should you choose to run Less on your next project.</p>
Mark Otto's avatar
Mark Otto committed
1822
  </div>
1823
  <div class="span9">
Mark Otto's avatar
Mark Otto committed
1824
    <h2>How to use it</h2>
1825
    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
1826
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
1827
&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
Mark Otto's avatar
Mark Otto committed
1828
&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
1829
<p>Not feeling the .js solution? <a href="http://incident57.com/less" target="_blank">Try the Less Mac app</a> or <a href="http://lesscss.org/#-client-side-usage" target="_blank">use Node.js</a> to compile when you deploy your code.</p>
Mark Otto's avatar
Mark Otto committed
1830

1831
1832
    <h2>What’s included</h2>
    <p>Here are some of the highlights of what’s included in Twitter Bootstrap as part of Bootstrap. Head over to the Bootstrap website or Github project page to download and learn more.</p>
1833
    <h3>Variables</h3>
1834
    <p>Variables in Less are perfect for maintaining and updating your CSS headache free. When you want to change a color value or a frequently used value, update it in one spot and you’re set.</p>
1835
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
// Links
@linkColor:         #8b59c2;
@linkColorHover:    darken(@linkColor, 10);

// Grays
@black:             #000;
@grayDark:          lighten(@black, 25%);
@gray:              lighten(@black, 50%);
@grayLight:         lighten(@black, 70%);
@grayLighter:       lighten(@black, 90%);
@white:             #fff;

// Accent Colors
@blue:              #08b5fb;
@green:             #46a546;
@red:               #9d261d;
@yellow:            #ffc40d;
@orange:            #f89406;
@pink:              #c3325f;
@purple:            #7a43b6;

1857
1858
1859
// Baseline grid
@basefont:          13px;
@baseline:          18px;
Mark Otto's avatar
Mark Otto committed
1860
1861
1862
</pre>

<h3>Commenting</h3>
1863
<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
1864
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1865
1866
1867
1868
1869
// This is a comment
/* This is also a comment */
</pre>

<h3>Mixins up the wazoo</h3>
1870
<p>Mixins are basically includes or partials for CSS, allowing you to combine a block of code into one. They’re great for vendor prefixed properties like <code>box-shadow</code>, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.</p>
Mark Otto's avatar
Mark Otto committed
1871
<h4>Font stacks</h4>
1872
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
#font {
  .shorthand(@weight: normal, @size: 14px, @lineHeight: 20px) {
    font-size: @size;
    font-weight: @weight;
    line-height: @lineHeight;
  }
  .sans-serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: @size;
    font-weight: @weight;
    line-height: @lineHeight;
  }
1885
  ...
Mark Otto's avatar
Mark Otto committed
1886
1887
1888
}
</pre>
<h4>Gradients</h4>
1889
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1890
#gradient {
1891
  ...
Mark Otto's avatar
Mark Otto committed
1892
1893
1894
  .vertical (@startColor: #555, @endColor: #333) {
    background-color: @endColor;
    background-repeat: repeat-x;
1895
1896
1897
1898
1899
1900
1901
    background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
    background-image: -moz-linear-gradient(@startColor, @endColor); // FF 3.6+
    background-image: -ms-linear-gradient(@startColor, @endColor); // IE10
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
    background-image: -webkit-linear-gradient(@startColor, @endColor); // Safari 5.1+, Chrome 10+
    background-image: -o-linear-gradient(@startColor, @endColor); // Opera 11.10
    background-image: linear-gradient(@startColor, @endColor); // The standard
Mark Otto's avatar
Mark Otto committed
1902
  }
1903
  ...
Mark Otto's avatar
Mark Otto committed
1904
1905
1906
}
</pre>

1907
<h3>Operations</h3>
1908
<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
1909
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1910
1911
1912
1913
// Griditude
@gridColumns:       16;
@gridColumnWidth:   40px;
@gridGutterWidth:   20px;
1914
@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
Mark Otto's avatar
Mark Otto committed
1915

1916
// Make some columns
Mark Otto's avatar
Mark Otto committed
1917
1918
1919
1920
.columns(@columnSpan: 1) {
  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
}
</pre>
1921

1922
    <h2 id="compiling">Compiling Less</h2>
1923
1924
    <p>After modifying the <code>.less</code> files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.</p>
    <h3>Ways to compile</h3>
Mark Otto's avatar
Mark Otto committed
1925
    <table class="zebra-striped">
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
      <thead>
        <tr>
          <th style="width: 120px;">Method</th>
          <th>Steps</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>Node with makefile</td>
          <td>
1936
1937
1938
1939
            <p>Install the less command line compiler with npm by running the following command:</p>
            <pre>$ npm install lessc</pre>
            <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
            <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
1940
1941
1942
1943
          </td>
        </tr>
          <td>Javascript</td>
          <td>
1944
            <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>head</code>.</p>
1945
<pre class="prettyprint linenums">
1946
1947
1948
1949
1950
1951
1952
1953
1954
&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
</pre>
            <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
          </td>
        </tr>
        <tr>
          <td>Command line</td>
          <td>
1955
            <p>If you already have the less command line tool installed, simply run the following command:</p>
1956
              <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
1957
            <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
          </td>
        </tr>
        <tr>
          <td>Less Mac app</td>
          <td>
            <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
            <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
          </td>
        </tr>
      </tbody>
    </table>
Mark Otto's avatar
Mark Otto committed
1969
1970
1971
1972
1973
  </div>
</div>

</section>

1974

1975
1976
1977
1978
1979
1980
1981
      <footer class="footer">
        <p class="pull-right"><a href="#">Back to top</a></p>
        <p>
          Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.<br>
          Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.
        </p>
      </footer>
1982

1983
1984
1985
    </div><!-- /container -->


1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
    <!-- Le javascript -->
    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
    <script src="assets/js/google-code-prettify/prettify.js"></script>
    <script>$(function () { prettyPrint() })</script>
    <script src="../js/bootstrap-dropdown.js"></script>
    <script src="../js/bootstrap-twipsy.js"></script>
    <script src="../js/bootstrap-scrollspy.js"></script>
    <script src="assets/js/application.js"></script>

1996
  </body>
1997
</html>