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

14
    <!-- Le styles -->
15
    <link href="../bootstrap-1.3.0.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 javascript -->
Jacob Thornton's avatar
Jacob Thornton committed
20
    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
Jacob Thornton's avatar
Jacob Thornton committed
21
    <script src="http://autobahn.tablesorter.com/jquery.tablesorter.min.js"></script>
Mark Otto's avatar
Mark Otto committed
22
    <script src="assets/js/google-code-prettify/prettify.js"></script>
23
24
    <script>$(function () { prettyPrint() })</script>
    <script src="assets/js/bootstrap-dropdown.js"></script>
Jacob Thornton's avatar
Jacob Thornton committed
25
    <script src="assets/js/application.js"></script>
26
    <script src="assets/js/application-scrollspy.js"></script>
27
28
29
30
31
32

    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
33
34
  </head>

35
  <body>
36

Mark Otto's avatar
Mark Otto committed
37
38
    <!-- Topbar
    ================================================== -->
Mark Otto's avatar
Mark Otto committed
39
    <div class="topbar">
40
      <div class="topbar-inner">
Jacob Thornton's avatar
Jacob Thornton committed
41
42
        <div class="container">
          <h3><a href="#">Bootstrap</a></h3>
43
          <ul class="nav">
Jacob Thornton's avatar
Jacob Thornton committed
44
45
46
47
48
49
50
51
52
53
            <li class="active"><a href="#masthead">Overview</a></li>
            <li><a href="#about">About</a></li>
            <li><a href="#grid-system">Grid</a></li>
            <li><a href="#layouts">Layouts</a></li>
            <li><a href="#typography">Typography</a></li>
            <li><a href="#tables">Tables</a></li>
            <li><a href="#forms">Forms</a></li>
            <li><a href="#navigation">Navigation</a></li>
            <li><a href="#alerts">Alerts</a></li>
            <li><a href="#popovers">Popovers</a></li>
54
            <li><a href="#javascript">Javascript</a></li>
Jacob Thornton's avatar
Jacob Thornton committed
55
56
57
            <li><a href="#less">Less</a></li>
          </ul>
        </div>
58
59
60
      </div>
    </div>

Mark Otto's avatar
Mark Otto committed
61
62
    <!-- Masthead (blueprinty thing)
    ================================================== -->
63
    <div id="masthead">
64
65
      <div class="inner">
        <div class="container">
66
          <h1>Bootstrap, from Twitter</h1>
67
          <p class="lead">
68
            Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br />
69
70
            It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br />
          </p>
71
          <p><strong>Nerd alert:</strong> Bootstrap is <a href="#less" title="Read about using Bootstrap with Less">built with Less</a> and was designed to work out of the gate with modern browsers in mind.</p>
72
        </div><!-- /container -->
73
74
75
      </div>
    </div>

Mark Otto's avatar
Mark Otto committed
76
77
    <!-- Quickstart options
    ================================================== -->
78
79
80
    <div class="quickstart">
      <div class="container">
        <div class="row">
Mark Otto's avatar
Mark Otto committed
81
          <div class="span5">
82
83
84
            <h6>Hotlink the CSS</h6>
            <p>For the quickest and easiest start, just copy this snippet into your webpage.</p>
            <form>
85
              <textarea class="copy-code" rows="1">&lt;link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap-1.2.0.min.css"></textarea>
86
87
            </form>
          </div>
Mark Otto's avatar
Mark Otto committed
88
          <div class="span5">
89
90
            <h6>Use it with Less</h6>
            <p>A fan of using Less? No problem, just clone the repo and add these lines:</p>
91
            <form>
Jacob Thornton's avatar
Jacob Thornton committed
92
              <textarea class="copy-code" rows="2">&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
Jacob Thornton's avatar
Jacob Thornton committed
93
&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;</textarea>
94
95
            </form>
          </div>
Mark Otto's avatar
Mark Otto committed
96
          <div class="span5">
97
            <h6>Fork on GitHub</h6>
98
            <p>Download, fork, pull, file issues, and more with the official Bootstrap repo on Github.</p>
Jacob Thornton's avatar
Jacob Thornton committed
99
            <p><a target="_blank" href="https://github.com/twitter/bootstrap" class="btn primary">Bootstrap on GitHub &raquo;</a></p>
100
          </div>
101
        </div><!-- /row -->
102
      </div>
103
    </div>
104
105
106

    <div class="container">

Mark Otto's avatar
Mark Otto committed
107
108
109
110


<!-- About Bootstrap
================================================== -->
111
112
113
114
115
<section id="about">
  <div class="page-header">
    <h1>About Bootstrap <small>Brief history, browser support, and more</small></h1>
  </div>
  <div class="row">
116
    <div class="span-one-third">
117
      <h3>History</h3>
118
119
120
121
      <p>In the earlier days of Twitter, engineers used almost any library they were familiar with to meet front-end requirements. Bootstrap began as an answer to the challenges that presented and development quickly accelerated during Twitter’s first Hackweek.</p>
      <p>With the help and feedback of many engineers at Twitter, Bootstrap has grown significantly to encompass not only basic styles, but more elegant and durable front-end design patterns.</p>
      <p>Read more on <a href="https://dev.twitter.com/blog/bootstrap-twitter">dev.twitter.com &rsaquo;</a></p>
    </div>
122
    <div class="span-one-third">
123
      <h3>Browser support</h3>
Jacob Thornton's avatar
Jacob Thornton committed
124
      <p>Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.</p>
Jacob Thornton's avatar
Jacob Thornton committed
125
      <img src="assets/img/browsers.png" width="258px" height="48px" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
126
127
128
      <ul>
        <li>Latest Safari</li>
        <li>Latest Google Chrome</li>
129
130
        <li>Firefox 4+</li>
        <li>Internet Explorer 7+</li>
Jacob Thornton's avatar
Jacob Thornton committed
131
        <li>Opera 11</li>
132
133
      </ul>
    </div>
134
    <div class="span-one-third">
135
136
137
138
139
140
141
142
      <h3>What's included</h3>
      <p>Bootstrap comes complete with compiled CSS, uncompiled, and example templates.</p>
      <ul>
        <li>All original .less files</li>
        <li>Fully compiled and minified CSS</li>
        <li>Complete styleguide documentation</li>
        <li>Example page template (more to come soon)</li>
      </ul>
143
    </div>
144
  </div><!-- /row -->
145
146
147
148
149
150
151
152

  <div class="row">
    <div class="span12">
      <h3>Quick-start examples</h3>
      <p>Need some quick templates? Check out these basic examples we've put together:</p>

      <div class="row">
        <div class="span4">
153
          <a href="../examples/hero.html"><img src="assets/img/example-diagram-01.png" class="diagram" alt="Simple three-column layout with hero unit"></a>
154
155
        </div>
        <div class="span4">
156
          <a href="../examples/fluid.html"><img src="assets/img/example-diagram-02.png" class="diagram" alt="Fluid layout with static sidebar"></a>
157
158
        </div>
        <div class="span4">
159
          <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" class="diagram" alt="Simple hanging container for apps"></a>
160
161
162
163
164
165
166
167
        </div>
      </div>
    </div>
    <div class="span4">
      <h3>Theming Bootstrap</h3>
      <p>Starting with v1.3.0, Bootstrap comes equipped with a customizable Less file, Theme.less. It's designed to replace default values in the library and provide a one-stop-shop for adding-on.</p>
    </div>
  </div><!-- /row -->
168
</section>
169

Mark Otto's avatar
Mark Otto committed
170
171
172
173


<!-- Grid system
================================================== -->
174
<section id="grid-system">
175
176
  <div class="page-header">
    <h1>Grid system <small>Rock the standard 940px or roll your own</small></h1>
177
  </div>
178
  <div class="row">
Mark Otto's avatar
Mark Otto committed
179
    <div class="span4">
180
181
182
      <h2>Default grid</h2>
      <p>The default grid system provided as part of Bootstrap is a 940px wide 16-column grid. It’s a flavor of the popular 960 grid system, but without the additional margin/padding on the left and right sides.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
183
    <div class="span12">
184
185
      <h3>Example grid markup</h3>
      <p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 16 foundational columns we defined as part of our grid system. See the examples below for more variations.</p>
186
<pre class="prettyprint linenums">
187
&lt;div class="row"&gt;
Mark Otto's avatar
Mark Otto committed
188
  &lt;div class="span6"&gt;
189
190
    ...
  &lt;/div&gt;
Mark Otto's avatar
Mark Otto committed
191
  &lt;div class="span10"&gt;
192
193
    ...
  &lt;/div&gt;
194
195
&lt;/div&gt;
</pre>
196
    </div>
197
  </div><!-- /row -->
198
  <div class="row show-grid" title="16 column layout">
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
    <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>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
    <div class="span1">1</div>
215
  </div><!-- /row -->
216
  <div class="row show-grid" title="8 column layout">
Mark Otto's avatar
Mark Otto committed
217
218
219
220
221
222
223
224
    <div class="span2">2</div>
    <div class="span2">2</div>
    <div class="span2">2</div>
    <div class="span2">2</div>
    <div class="span2">2</div>
    <div class="span2">2</div>
    <div class="span2">2</div>
    <div class="span2">2</div>
225
  </div><!-- /row -->
226
  <div class="row show-grid" title="Example uncommon layout">
Mark Otto's avatar
Mark Otto committed
227
228
229
230
231
    <div class="span3">3</div>
    <div class="span3">3</div>
    <div class="span3">3</div>
    <div class="span3">3</div>
    <div class="span3">3</div>
232
    <div class="span1 column">1</div>
233
  </div><!-- /row -->
234
  <div class="row show-grid" title="Four column layout">
Mark Otto's avatar
Mark Otto committed
235
236
237
238
    <div class="span4">4</div>
    <div class="span4">4</div>
    <div class="span4">4</div>
    <div class="span4">4</div>
239
  </div><!-- /row -->
240
  <div class="row show-grid" title="Default three column layout">
241
242
243
    <div class="span-one-third">1/3</div>
    <div class="span-one-third">1/3</div>
    <div class="span-one-third">1/3</div>
244
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
245
  <div class="row show-grid" title="One-third and two-thirds layout">
246
247
    <div class="span-one-third">1/3</div>
    <div class="span-two-thirds">2/3</div>
Mark Otto's avatar
Mark Otto committed
248
  </div><!-- /row -->
249
  <div class="row show-grid" title="Irregular three column layout">
Mark Otto's avatar
Mark Otto committed
250
251
252
    <div class="span4">4</div>
    <div class="span6">6</div>
    <div class="span6">6</div>
253
  </div><!-- /row -->
254
  <div class="row show-grid" title="Half and half">
Mark Otto's avatar
Mark Otto committed
255
256
    <div class="span8">8</div>
    <div class="span8">8</div>
257
  </div><!-- /row -->
258
  <div class="row show-grid" title="Example uncommon two-column layout">
Mark Otto's avatar
Mark Otto committed
259
260
    <div class="span5">5</div>
    <div class="span11">11</div>
261
  </div><!-- /row -->
262
  <div class="row show-grid" title="Unnecessary single column layout">
Mark Otto's avatar
Mark Otto committed
263
    <div class="span16">16</div>
264
  </div><!-- /row -->
265
  <h3>Offsetting columns</h3>
266
  <div class="row show-grid">
Mark Otto's avatar
Mark Otto committed
267
    <div class="span4">4</div>
268
    <div class="span8 offset4">8 offset 4</div>
269
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
270
  <div class="row show-grid">
271
    <div class="span-one-third offset-two-thirds">1/3 offset 2/3s</div>
Mark Otto's avatar
Mark Otto committed
272
  </div><!-- /row -->
273
  <div class="row show-grid">
274
275
    <div class="span4 offset4">4 offset 4</div>
    <div class="span4 offset4">4 offset 4</div>
276
  </div><!-- /row -->
277
  <div class="row show-grid">
278
279
    <div class="span5 offset3">5 offset 3</div>
    <div class="span5 offset3">5 offset 3</div>
280
  </div><!-- /row -->
281
  <div class="row show-grid">
282
    <div class="span10 offset6">10 offset 6</div>
283
  </div><!-- /row -->
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302

  <h3>Nesting columns</h3>
  <p>Nest your content if you must by creating a <code>.row</code> within an existing column.</p>
  <div class="row show-grid">
    <div class="span10">
      Level 1 of column
      <div class="row show-grid">
        <div class="span5">
          Level 2
        </div>
        <div class="span5">
          Level 2
        </div>
      </div>
    </div>
    <div class="span6">
      Level 1 of column
    </div>
  </div>
303
304
305
306
</section>



Mark Otto's avatar
Mark Otto committed
307
308
<!-- Layouts (Default and fluid)
================================================== -->
309
310
311
312
<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
313

314
  <div class="row">
Mark Otto's avatar
Mark Otto committed
315
    <div class="span8">
316
      <h2>Fixed layout</h2>
317
      <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>
318
319
320
      <div class="mini-layout">
        <div class="mini-layout-body"></div>
      </div>
321
<pre class="prettyprint linenums">
322
323
324
325
326
327
&lt;body&gt;
  &lt;div class="container"&gt;
    ...
  &lt;/div&gt;
&lt;/body&gt;
</pre>
328
    </div><!-- /col -->
Mark Otto's avatar
Mark Otto committed
329
    <div class="span8">
330
      <h2>Fluid layout</h2>
331
      <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
332
333
334
335
      <div class="mini-layout fluid">
        <div class="mini-layout-sidebar"></div>
        <div class="mini-layout-body"></div>
      </div>
336
<pre class="prettyprint linenums">
337
338
339
340
341
342
343
344
345
346
347
&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>
348
349
    </div><!-- /col -->
  </div><!-- /row -->
350
351
352
353
</section>



Mark Otto's avatar
Mark Otto committed
354
355
<!-- Typography
================================================== -->
356
<section id="typography">
Mark Otto's avatar
Mark Otto committed
357
358
  <div class="page-header">
    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
359
  </div>
360

Mark Otto's avatar
Mark Otto committed
361
362
  <!-- Headings & Paragraph Copy -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
363
    <div class="span4">
364
      <h2>Headings &amp; copy</h2>
Mark Otto's avatar
Mark Otto committed
365
      <p>A standard typographic hierarchy for structuring your webpages.</p>
366
367
      <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
368
    </div>
Mark Otto's avatar
Mark Otto committed
369
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
370
371
372
373
374
375
376
      <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>
Mark Otto's avatar
Mark Otto committed
377
    <div class="span8">
Mark Otto's avatar
Mark Otto committed
378
379
380
381
      <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>
382
383
  </div>

Mark Otto's avatar
Mark Otto committed
384
385
  <!-- Misc Elements -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
386
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
387
388
389
390
391
392
393
394
395
      <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>
Mark Otto's avatar
Mark Otto committed
396
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
397
398
399
400
      <h4>When to use</h4>
      <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>
401
      <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
402
      <h3>Addresses</h3>
Mark Otto's avatar
Mark Otto committed
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
      <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>
            <strong>Twitter, Inc.</strong><br />
            795 Folsom Ave, Suite 600<br />
            San Francisco, CA 94107<br />
            <abbr title="Phone">P:</abbr> (123) 456-7890
          </address>
        </div>
        <div class="span4">
          <address>
            <strong>Full Name</strong><br />
            <a mailto="">first.last@gmail.com</a>
          </address>
        </div>
      </div>

Mark Otto's avatar
Mark Otto committed
422
423
424
425
      <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>
426
  </div><!-- /row -->
427

Mark Otto's avatar
Mark Otto committed
428
429
  <!-- Blockquotes -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
430
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
431
432
433
434
435
436
437
      <h2>Blockquotes</h2>
      <p>
        <code>&lt;blockquote&gt;</code>
        <code>&lt;p&gt;</code>
        <code>&lt;small&gt;</code>
      </p>
    </div>
Mark Otto's avatar
Mark Otto committed
438
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
439
      <h4>How to quote</h4>
Mark Otto's avatar
Mark Otto committed
440
      <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
441
      <blockquote>
Mark Otto's avatar
Mark Otto committed
442
        <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
443
444
445
        <small>Dr. Julius Hibbert</small>
      </blockquote>
    </div>
446
  </div><!-- /row -->
447

Mark Otto's avatar
Mark Otto committed
448
449
  <h2>Lists</h2>
  <div class="row">
Mark Otto's avatar
Mark Otto committed
450
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
451
452
      <h4>Unordered <code>&lt;ul&gt;</code></h4>
      <ul>
Mark Otto's avatar
Mark Otto committed
453
454
455
456
457
        <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
458
          <ul>
Mark Otto's avatar
Mark Otto committed
459
460
461
462
            <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
463
464
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
465
466
467
        <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
468
469
      </ul>
    </div>
Mark Otto's avatar
Mark Otto committed
470
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
471
472
      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
      <ul class="unstyled">
Mark Otto's avatar
Mark Otto committed
473
474
475
476
477
        <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
478
          <ul>
Mark Otto's avatar
Mark Otto committed
479
480
481
482
            <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
483
484
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
485
486
487
        <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
488
489
      </ul>
    </div>
Mark Otto's avatar
Mark Otto committed
490
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
491
492
      <h4>Ordered <code>&lt;ol&gt;</code></h4>
      <ol>
Mark Otto's avatar
Mark Otto committed
493
494
495
496
497
498
499
500
        <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
501
502
      </ol>
    </div>
Mark Otto's avatar
Mark Otto committed
503
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
504
505
506
507
508
509
510
511
512
513
514
      <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>
515
  </div><!-- /row -->
516
517
518
519
</section>



Mark Otto's avatar
Mark Otto committed
520
521
<!-- Tables
================================================== -->
522
<section id="tables">
Mark Otto's avatar
Mark Otto committed
523
524
  <div class="page-header">
    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
525
  </div>
Mark Otto's avatar
Mark Otto committed
526
527
  <!-- Table structure -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
528
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
      <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>
Mark Otto's avatar
Mark Otto committed
544
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
      <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>
577
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
578
&lt;table&gt;
579
580
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
581
582
583
584
585
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
      <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>
613
      <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
614
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
615
&lt;table class="zebra-striped"&gt;
616
617
...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
      <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>
650
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
651
652
653
654
&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
&lt;script &gt;
  $(function() {
    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
655
656
  });
&lt;/script&gt;
Mark Otto's avatar
Mark Otto committed
657
&lt;table class="zebra-striped"&gt;
658
659
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
660
    </div>
661
  </div><!-- /row -->
662
663
664
665
</section>



Mark Otto's avatar
Mark Otto committed
666
667
<!-- Forms
================================================== -->
668
<section id="forms">
Mark Otto's avatar
Mark Otto committed
669
670
  <div class="page-header">
    <h1>Forms</h1>
671
  </div>
Mark Otto's avatar
Mark Otto committed
672
  <div class="row">
Mark Otto's avatar
Mark Otto committed
673
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
674
675
676
      <h2>Default styles</h2>
      <p>All forms are given default styles to present them in a readable and scalable way. Styles are provided for text inputs, select lists, textareas, radio buttons and checkboxes, and buttons.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
677
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
678
      <form>
Mark Otto's avatar
Mark Otto committed
679
680
681
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
682
            <label for="xlInput">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
683
684
685
            <div class="input">
              <input class="xlarge" id="xlInput" name="xlInput" size="30" type="text" />
            </div>
686
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
687
          <div class="clearfix">
688
            <label for="normalSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
689
            <div class="input">
690
              <select name="normalSelect" id="normalSelect">
Mark Otto's avatar
Mark Otto committed
691
692
693
694
695
696
697
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
698
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
699
          <div class="clearfix">
700
            <label for="mediumSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
701
            <div class="input">
702
              <select class="medium" name="mediumSelect" id="mediumSelect">
Mark Otto's avatar
Mark Otto committed
703
704
705
706
707
708
709
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
710
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
711
          <div class="clearfix">
712
            <label>Uneditable input</label>
Mark Otto's avatar
Mark Otto committed
713
            <div class="input">
714
              <span class="uneditable-input">Some value here</span>
Mark Otto's avatar
Mark Otto committed
715
            </div>
716
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
717
          <div class="clearfix">
718
            <label for="disabledInput">Disabled input</label>
Mark Otto's avatar
Mark Otto committed
719
720
721
            <div class="input">
              <input class="xlarge disabled" id="disabledInput" name="disabledInput" size="30" type="text" placeholder="Disabled input here… carry on." disabled />
            </div>
722
          </div><!-- /clearfix -->
723
724
725
726
727
728
          <div class="clearfix">
            <label for="disabledInput">Disabled textarea</label>
            <div class="input">
              <textarea class="xxlarge" name="textarea" id="textarea" rows="3" disabled></textarea>
            </div>
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
729
          <div class="clearfix error">
730
            <label for="xlInput2">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
731
            <div class="input">
732
              <input class="xlarge error" id="xlInput2" name="xlInput2" size="30" type="text" />
Mark Otto's avatar
Mark Otto committed
733
734
              <span class="help-inline">Small snippet of help text</span>
            </div>
735
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
736
737
738
739
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
740
            <label for="prependedInput">Prepended text</label>
Mark Otto's avatar
Mark Otto committed
741
742
743
744
745
746
            <div class="input">
              <div class="input-prepend">
                <span class="add-on">@</span>
                <input class="medium" id="prependedInput" name="prependedInput" size="16" type="text" />
              </div>
            </div>
747
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
748
          <div class="clearfix">
749
            <label for="prependedInput2">Prepended checkbox</label>
Mark Otto's avatar
Mark Otto committed
750
751
752
753
754
755
            <div class="input">
              <div class="input-prepend">
                <label class="add-on"><input type="checkbox" name="" id="" value="" /></label>
                <input class="mini" id="prependedInput2" name="prependedInput2" size="16" type="text" />
              </div>
            </div>
756
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
757
          <div class="clearfix">
758
            <label for="appendedInput">Appended checkbox</label>
Mark Otto's avatar
Mark Otto committed
759
760
761
762
763
764
            <div class="input">
              <div class="input-append">
                <input class="mini" id="appendedInput" name="appendedInput" size="16" type="text" />
                <label class="add-on active"><input type="checkbox" name="" id="" value="" checked="checked" /></label>
              </div>
            </div>
765
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
766
          <div class="clearfix">
767
            <label for="fileInput">File input</label>
Mark Otto's avatar
Mark Otto committed
768
769
770
            <div class="input">
              <input class="input-file" id="fileInput" name="fileInput" type="file" />
            </div>
771
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
772
773
774
775
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
776
            <label id="optionsCheckboxes">List of options</label>
Mark Otto's avatar
Mark Otto committed
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option1" />
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
                    <span>Option two can also be checked and included in form results</span>
                  </label>
                </li>
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
                    <span>Option three can&mdash;yes, you guessed it&mdash;also be checked and included in form results</span>
                  </label>
                </li>
                <li>
                  <label class="disabled">
                    <input type="checkbox" name="optionsCheckboxes" value="option2" disabled />
                    <span>Option four cannot be checked as it is disabled.</span>
                  </label>
                </li>
              </ul>
              <span class="help-block">
                <strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.
              </span>
            </div>
808
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
809
          <div class="clearfix">
810
            <label>Date range</label>
Mark Otto's avatar
Mark Otto committed
811
812
813
814
815
816
817
818
819
820
            <div class="input">
              <div class="inline-inputs">
                <input class="small" type="text" value="May 1, 2011" />
                <input class="mini" type="text" value="12:00am" />
                to
                <input class="small" type="text" value="May 8, 2011" />
                <input class="mini" type="text" value="11:59pm" />
                <span class="help-inline">All times are shown as Pacific Standard Time (GMT -08:00).</span>
              </div>
            </div>
821
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
822
823
824
          <div class="clearfix">
            <label for="textarea">Textarea</label>
            <div class="input">
825
              <textarea class="xxlarge" id="textarea2" name="textarea2" rows="3"></textarea>
Mark Otto's avatar
Mark Otto committed
826
827
828
829
              <span class="help-block">
                Block of help text to describe the field above if need be.
              </span>
            </div>
830
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
831
          <div class="clearfix">
832
            <label id="optionsRadio">List of options</label>
Mark Otto's avatar
Mark Otto committed
833
834
835
836
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
837
                    <input type="radio" checked name="optionsRadios" value="option1" />
Mark Otto's avatar
Mark Otto committed
838
839
840
841
842
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
843
844
                    <input type="radio" name="optionsRadios" value="option2" />
                    <span>Option two can is something else and selecting it will deselect options 1</span>
Mark Otto's avatar
Mark Otto committed
845
846
847
848
                  </label>
                </li>
              </ul>
            </div>
849
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
850
          <div class="actions">
851
            <input type="submit" class="btn primary" value="Save changes">&nbsp;<button type="reset" class="btn">Cancel</button>
852
          </div>
Mark Otto's avatar
Mark Otto committed
853
        </fieldset>
Jacob Thornton's avatar
Jacob Thornton committed
854
      </form>
855
    </div>
856
  </div><!-- /row -->
857

Mark Otto's avatar
Mark Otto committed
858
  <br />
859

Mark Otto's avatar
Mark Otto committed
860
  <div class="row">
Mark Otto's avatar
Mark Otto committed
861
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
862
863
      <h2>Stacked forms</h2>
      <p>Add <code>.form-stacked</code> to your form’s HTML and you’ll have labels on top of their fields instead of to their left. This works great if your forms are short or you have two columns of inputs for heavier forms.</p>
864
    </div>
Mark Otto's avatar
Mark Otto committed
865
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
866
867
868
869
      <form action="" class="form-stacked">
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
870
            <label for="xlInput3">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
871
            <div class="input">
872
              <input class="xlarge" id="xlInput3" name="xlInput3" size="30" type="text" />
Mark Otto's avatar
Mark Otto committed
873
            </div>
874
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
875
          <div class="clearfix">
876
            <label for="stackedSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
877
            <div class="input">
878
              <select name="stackedSelect" id="stackedSelect">
Mark Otto's avatar
Mark Otto committed
879
880
881
882
883
884
885
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
886
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
887
888
889
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
890
          <div class="clearfix error">
891
            <label for="xlInput4">X-Large input</label>
892
            <div class="input">
893
              <input class="xlarge error" id="xlInput4" name="xlInput4" size="30" type="text" />
894
895
              <span class="help-inline">Small snippet of help text</span>
            </div>
896
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
897
          <div class="clearfix">
898
            <label id="optionsCheckboxes">List of options</label>
Mark Otto's avatar
Mark Otto committed
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option1" />
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
                    <input type="checkbox" name="optionsCheckboxes" value="option2" />
                    <span>Option two can also be checked and included in form results</span>
                  </label>
                </li>
              </ul>
              <span class="help-block">
                <strong>Note:</strong> Labels surround all the options for much larger click areas and a more usable form.
              </span>
            </div>
918
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
919
920
        </fieldset>
        <div class="actions">
921
          <button type="submit" class="btn primary">Save changes</button>&nbsp;<button type="reset" class="btn">Cancel</button>
Mark Otto's avatar
Mark Otto committed
922
923
        </div>
      </form>
924
    </div>
925
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
926
927

  <div class="row">
Mark Otto's avatar
Mark Otto committed
928
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
929
930
      <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>
931
      <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. Plus, rolling your own styles is easy peasy.</p>
932
    </div>
Mark Otto's avatar
Mark Otto committed
933
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
934
935
936
      <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;">
Jacob Thornton's avatar
Jacob Thornton committed
937
        <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>
Mark Otto's avatar
Mark Otto committed
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
      </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">
958
        <button class="btn large primary disabled" disabled="disabled">Primary action</button>&nbsp;<button class="btn large" disabled>Action</button>
Mark Otto's avatar
Mark Otto committed
959
      </div>
960
    </div>
961
  </div><!-- /row -->
962
963
964
965
</section>



Mark Otto's avatar
Mark Otto committed
966
967
<!-- Navigation
================================================== -->
968
<section id="navigation">
Mark Otto's avatar
Mark Otto committed
969
970
971
972
  <div class="page-header">
    <h1>Navigation</h1>
  </div>
  <h2>Fixed topbar</h2>
973
  <div class="topbar-wrapper" style="z-index: 5;">
Mark Otto's avatar
Mark Otto committed
974
    <div class="topbar">
975
      <div class="topbar-inner">
976
        <div class="container">
Jacob Thornton's avatar
Jacob Thornton committed
977
          <h3><a href="#">Project Name</a></h3>
978
          <ul class="nav">
Jacob Thornton's avatar
Jacob Thornton committed
979
980
981
982
            <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>
Mark Otto's avatar
Mark Otto committed
983
            <li class="dropdown">
984
985
              <a href="#" class="dropdown-toggle">Dropdown</a>
              <ul class="dropdown-menu">
986
                <li><a href="#">Secondary link</a></li>
987
988
989
990
991
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li><a href="#">Another link</a></li>
              </ul>
            </li>
Jacob Thornton's avatar
Jacob Thornton committed
992
          </ul>
Mark Otto's avatar
Mark Otto committed
993
          <form class="pull-left" action="">
Jacob Thornton's avatar
Jacob Thornton committed
994
995
996
            <input type="text" placeholder="Search" />
          </form>
          <ul class="nav secondary-nav">
997
998
999
            <li class="dropdown">
              <a href="#" class="dropdown-toggle">Dropdown</a>
              <ul class="dropdown-menu">
Jacob Thornton's avatar
Jacob Thornton committed
1000
1001
1002
1003
1004
1005
1006
1007
                <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>
1008
      </div><!-- /topbar-inner -->
1009
1010
    </div><!-- /topbar -->
  </div><!-- /topbar-wrapper -->
1011

Mark Otto's avatar
Mark Otto committed
1012
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1013
    <div class="span5">
1014
      <h4>What is it</h4>
1015
      <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
1016
    </div>
Mark Otto's avatar
Mark Otto committed
1017
    <div class="span5">
1018
1019
1020
      <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>
Mark Otto's avatar
Mark Otto committed
1021
    <div class="span6">
1022
      <h4>Dropdowns included</h4>
1023
      <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
1024
1025
    </div>
  </div>
1026
  <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
1027
1028

  <br />
1029

1030
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1031
    <div class="span4">
1032
1033
1034
1035
      <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>
Mark Otto's avatar
Mark Otto committed
1036
    <div class="span12">
1037
1038
1039
1040
1041
1042
      <ul class="tabs">
        <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>
1043
1044
1045
1046
1047
1048
1049
1050
1051
        <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>
1052
      </ul>
1053
<pre class="prettyprint linenums">
1054
&lt;ul class="tabs"&gt;
Mark Otto's avatar
Mark Otto committed
1055
1056
1057
1058
1059
  &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;
1060
1061
&lt;/ul&gt;
</pre>
1062
1063
1064
1065
1066
1067
1068
      <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>
1069
<pre class="prettyprint linenums">
1070
&lt;ul class="pills"&gt;
Mark Otto's avatar
Mark Otto committed
1071
1072
1073
1074
1075
  &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;
1076
1077
1078
&lt;/ul&gt;
</pre>
    </div>
1079
  </div><!-- /row -->
1080

Mark Otto's avatar
Mark Otto committed
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
  <!-- Breadcrumbs -->
  <div class="row">
    <div class="span4">
      <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>
    <div class="span12">
      <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>
    </div>
  </div>

1109
1110
  <!-- Pagination -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1111
    <div class="span4">
1112
1113
      <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>
1114
    </div>
Mark Otto's avatar
Mark Otto committed
1115
    <div class="span12">
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
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
      <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>
          <li class="next"><a href="#">Next &rarr;</a></li>
        </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>
          <li class="next"><a href="#">Next &rarr;</a></li>
        </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>
          <li class="next"><a href="#">Next &rarr;</a></li>
        </ul>
      </div>
1157
<pre class="prettyprint linenums">
1158
1159
&lt;div class="pagination"&gt;
  &lt;ul&gt;
Mark Otto's avatar
Mark Otto committed
1160
1161
1162
1163
1164
1165
1166
    &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>
1167
1168
1169
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
1170
    </div>
1171
  </div><!-- /row -->
1172
1173
1174
1175
1176

</section>



Mark Otto's avatar
Mark Otto committed
1177
1178
<!-- Alerts & Messages
================================================== -->
1179
1180
<section id="alerts">
  <div class="page-header">
1181
1182
    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
  </div>
1183
  <!-- Basic alert messages -->
1184
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1185
    <div class="span4">
1186
      <h2>Basic alerts</h2>
1187
      <p><code>div.alert-message</code></p>
1188
1189
      <p>One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
1190
    <div class="span12">
1191
1192
      <div class="alert-message warning">
        <a class="close" href="#">&times;</a>
1193
        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
1194
      </div>
1195
      <div class="alert-message error">
1196
        <a class="close" href="#">&times;</a>
1197
        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
1198
1199
1200
1201
1202
1203
1204
      </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>
1205
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1206
1207
      </div>
    </div>
1208
  </div><!-- /row -->
1209
  <!-- Block messages -->
1210
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1211
    <div class="span4">
1212
      <h2>Block messages</h2>
1213
      <p><code>div.alert-message.block-message</code></p>
1214
1215
      <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>
    </div>
Mark Otto's avatar
Mark Otto committed
1216
    <div class="span12">
1217
1218
      <div class="alert-message block-message warning">
        <a class="close" href="#">&times;</a>
1219
        <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>
1220
1221
1222
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1223
      </div>
1224
      <div class="alert-message block-message error">
1225
        <a class="close" href="#">&times;</a>
1226
1227
1228
1229
1230
1231
        <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>
1232
1233
1234
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1235
1236
1237
1238
      </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>
1239
1240
1241
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1242
1243
1244
      </div>
      <div class="alert-message block-message info">
        <a class="close" href="#">&times;</a>
1245
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1246
1247
1248
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1249
1250
      </div>
    </div>
1251
  </div><!-- /row -->
1252
1253
1254
</section>


Mark Otto's avatar
Mark Otto committed
1255
1256
<!-- Popovers
================================================== -->
Mark Otto's avatar
Mark Otto committed
1257
<section id="popovers">
Jacob Thornton's avatar
Jacob Thornton committed
1258
  <div class="page-header">
Mark Otto's avatar
Mark Otto committed
1259
    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
Jacob Thornton's avatar
Jacob Thornton committed
1260
1261
  </div>
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1262
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1263
      <h2>Modals</h2>
1264
      <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>
Jacob Thornton's avatar
Jacob Thornton committed
1265
    </div>
Mark Otto's avatar
Mark Otto committed
1266
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
1267
      <div class="well" style="background-color: #888; border: none; padding: 40px;">
1268
        <!-- Modal -->
1269
        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
Jacob Thornton's avatar
Jacob Thornton committed
1270
1271
          <div class="modal-header">
            <a href="#" class="close">&times;</a>
1272
            <h3>Modal Heading</h3>
Jacob Thornton's avatar
Jacob Thornton committed
1273
1274
          </div>
          <div class="modal-body">
1275
            <p>One fine body…</p>
Jacob Thornton's avatar
Jacob Thornton committed
1276
1277
          </div>
          <div class="modal-footer">
Mark Otto's avatar
Mark Otto committed
1278
1279
            <a href="#" class="btn primary">Primary</a>
            <a href="#" class="btn secondary">Secondary</a>
Jacob Thornton's avatar
Jacob Thornton committed
1280
1281
1282
          </div>
        </div>
      </div>
1283
    </div>
1284
  </div><!-- /row -->
1285

1286
  <!-- Tooltips -->
1287
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1288
    <div class="span4">
1289
1290
1291
      <h2>Tool Tips</h2>
      <p>Twipsies are super useful for aiding a confused user and pointing them in the right direction.</p>
    </div>
Mark Otto's avatar
Mark Otto committed
1292
    <div class="span12">
1293
1294
1295
      <div class="twipsies well">
        <div style="position: relative">
          <p class="muted" style="margin-bottom: 0">
Jacob Thornton's avatar
Jacob Thornton committed
1296
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.
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
          </p>
          <div class="twipsy below">
            <div class="twipsy-arrow"></div>
            <div class="twipsy-inner">below!</div>
          </div>
          <div class="twipsy right">
            <div class="twipsy-arrow"></div>
            <div class="twipsy-inner">right!</div>
          </div>
          <div class="twipsy left">
            <div class="twipsy-arrow"></div>
            <div class="twipsy-inner">left!</div>
          </div>
          <div class="twipsy above">
            <div class="twipsy-arrow"></div>
            <div class="twipsy-inner">above!</div>
Jacob Thornton's avatar
Jacob Thornton committed
1313
1314
1315
1316
          </div>
        </div>
      </div>
    </div>
1317
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1318

1319
  <!-- Popovers -->
Mark Otto's avatar
Mark Otto committed
1320
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1321
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1322
      <h2>Popovers</h2>
Mark Otto's avatar
Mark Otto committed
1323
      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
Mark Otto's avatar
Mark Otto committed
1324
    </div>
Mark Otto's avatar
Mark Otto committed
1325
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
1326
      <div class="well popover-well">
Jacob Thornton's avatar
Jacob Thornton committed
1327
1328
         <div class="popover-wrapper">
          <div class="popover left">
Mark Otto's avatar
Mark Otto committed
1329
1330
            <div class="arrow"></div>
            <div class="inner">
Jacob Thornton's avatar
Jacob Thornton committed
1331
              <h3 class="title">Popover Title</h3>
Mark Otto's avatar
Mark Otto committed
1332
1333
1334
1335
1336
              <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>
1337
          <img class="large-bird" src="assets/img/bird.png" width="220px" height="145px">
Mark Otto's avatar
Mark Otto committed
1338
1339
1340
        </div>
      </div>
    </div>
1341
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1342
</section>
1343

Mark Otto's avatar
Mark Otto committed
1344

1345
1346
1347
1348
1349
1350
1351
1352
<!-- Using Javascript w/ Bootstrap
 ================================================== -->

 <section id="javascript">
   <div class="page-header">
     <h1>Using Javascript with Bootstrap <small>An index of plugins to get you started</small></h1>
   </div>
   <div class="row">
Mark Otto's avatar
Mark Otto committed
1353
     <div class="span4">
1354
1355
       <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>
     </div>
Mark Otto's avatar
Mark Otto committed
1356
     <div class="span12">
1357
1358
1359
       <h2>Getting started</h2>
       <p>We've set out to make your interactive work with Bootstrap even more simple, offering several lightweight plugins for things like modals, tooltips, and other dynamic components. These plugins have been coded up to work with either <a href="http://jquery.com/" target="_blank">jQuery</a> or <a href="http://ender.no.de" target="_blank">Ender</a>, but we encourage you to extend and modify them to fit your development needs!</p>
       <h2>Do I need javascript?</h2>
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
       <p>The short answer is <strong>no</strong>... of course not! However, for those who need it, we've provided the plugins below to help you understand how to integrate bootstrap with javascript and to give you a quick lightweight option for dropping something in and getting the basic functionality right away! For more information on these plugins and to see demos of them in action, please refer to our <a href="./javascript.html">plugin documentation page</a>.</p>
       <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>
             <td>This plugin is for adding dropdown to the bootstrap nav.</td>
           </tr>
1381
1382
1383
1384
           <tr>
             <td><a href="./javascript.html#tabs">bootstrap-tabs.js</a></td>
             <td>This plugin adds quick, dynamic tab and pill functionality.</td>
           </tr>
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
           <tr>
             <td><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></td>
             <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 title storage!</td>
           </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>
1395
1396
1397
     </div>
   </div>

Mark Otto's avatar
Mark Otto committed
1398

Mark Otto's avatar
Mark Otto committed
1399
1400
<!-- Using Bootstrap w/ Less
================================================== -->
1401
<section id="less">
Mark Otto's avatar
Mark Otto committed
1402
<div class="page-header">
1403
  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
Mark Otto's avatar
Mark Otto committed
1404
1405
</div>
<div class="row">
Mark Otto's avatar
Mark Otto committed
1406
  <div class="span4">
1407
1408
    <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
1409
  </div>
Mark Otto's avatar
Mark Otto committed
1410
  <div class="span12">
Mark Otto's avatar
Mark Otto committed
1411
    <h2>How to use it</h2>
1412
    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
1413
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
1414
&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
Mark Otto's avatar
Mark Otto committed
1415
&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
1416
<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
1417

1418
1419
    <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>
1420
    <h3>Variables</h3>
1421
    <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>
1422
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
// 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;

1444
1445
1446
// Baseline grid
@basefont:          13px;
@baseline:          18px;
Mark Otto's avatar
Mark Otto committed
1447
1448
1449
</pre>

<h3>Commenting</h3>
1450
<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
1451
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1452
1453
1454
1455
1456
// This is a comment
/* This is also a comment */
</pre>

<h3>Mixins up the wazoo</h3>
1457
<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
1458
<h4>Font stacks</h4>
1459
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
#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;
  }
  .serif(@weight: normal, @size: 14px, @lineHeight: 20px) {
    font-family: "Georgia", Times New Roman, Times, sans-serif;
    font-size: @size;
    font-weight: @weight;
    line-height: @lineHeight;
  }
  .monospace(@weight: normal, @size: 12px, @lineHeight: 20px) {
    font-family: "Monaco", Courier New, monospace;
    font-size: @size;
    font-weight: @weight;
    line-height: @lineHeight;
  }
}
</pre>
<h4>Gradients</h4>
1487
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
#gradient {
  .horizontal (@startColor: #555, @endColor: #333) {
    background-color: @endColor;
    background-repeat: repeat-x;
    background-image: -khtml-gradient(linear, left top, right top, from(@startColor), to(@endColor)); // Konqueror
    background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
    background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @startColor), color-stop(100%, @endColor)); // Safari 4+, Chrome 2+
    background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
    background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
    background-image: linear-gradient(left, @startColor, @endColor); // Le standard
  }
  .vertical (@startColor: #555, @endColor: #333) {
    background-color: @endColor;
    background-repeat: repeat-x;
1503
1504
1505
1506
1507
1508
1509
    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
1510
1511
1512
1513
  }
  .directional (@startColor: #555, @endColor: #333, @deg: 45deg) {
    ...
  }
1514
  .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
Mark Otto's avatar
Mark Otto committed
1515
1516
1517
1518
1519
1520
    ...
  }
}
</pre>

<h3>Operations and grid system</h3>
1521
<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
1522
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1523
1524
1525
1526
// Griditude
@gridColumns:       16;
@gridColumnWidth:   40px;
@gridGutterWidth:   20px;
1527
@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
Mark Otto's avatar
Mark Otto committed
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538

// Grid System
.container {
  width: @siteWidth;
  margin: 0 auto;
  .clearfix();
}
.columns(@columnSpan: 1) {
  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
}
.offset(@columnOffset: 1) {
1539
  margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @extraSpace;
Mark Otto's avatar
Mark Otto committed
1540
1541
1542
1543
1544
1545
1546
}
</pre>
  </div>
</div>

</section>

1547
    </div><!-- /container -->
1548
1549
1550
1551

    <div id="footer">
      <div class="inner">
        <div class="container">
1552
          <p class="right"><a href="#">Back to top</a></p>
1553
          <p>
1554
            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 />
Mark Otto's avatar
Mark Otto committed
1555
            Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>.
1556
          </p>
1557
1558
        </div>
      </div>
1559
1560
1561
    </div>

  </body>
1562
</html>