index.html 62.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.2.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>
Jacob Thornton's avatar
Jacob Thornton committed
23
    <script src="assets/js/application.js"></script>
24
25
26
27
28
29

    <!-- 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">
30
31
  </head>

32
  <body>
33

Mark Otto's avatar
Mark Otto committed
34
35
    <!-- Topbar
    ================================================== -->
Mark Otto's avatar
Mark Otto committed
36
    <div class="topbar">
37
      <div class="topbar-inner">
Jacob Thornton's avatar
Jacob Thornton committed
38
39
        <div class="container">
          <h3><a href="#">Bootstrap</a></h3>
40
          <ul class="nav">
Jacob Thornton's avatar
Jacob Thornton committed
41
42
43
44
45
46
47
48
49
50
            <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>
51
            <li><a href="#javascript">Javascript</a></li>
Jacob Thornton's avatar
Jacob Thornton committed
52
53
54
            <li><a href="#less">Less</a></li>
          </ul>
        </div>
55
56
57
      </div>
    </div>

Mark Otto's avatar
Mark Otto committed
58
59
    <!-- Masthead (blueprinty thing)
    ================================================== -->
60
    <div id="masthead">
61
62
      <div class="inner">
        <div class="container">
63
          <h1>Bootstrap, from Twitter</h1>
64
          <p class="lead">
65
            Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.<br />
66
67
            It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.<br />
          </p>
68
          <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>
69
        </div><!-- /container -->
70
71
72
      </div>
    </div>

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

    <div class="container">

Mark Otto's avatar
Mark Otto committed
104
105
106
107


<!-- About Bootstrap
================================================== -->
108
109
110
111
112
<section id="about">
  <div class="page-header">
    <h1>About Bootstrap <small>Brief history, browser support, and more</small></h1>
  </div>
  <div class="row">
113
    <div class="span-one-third">
114
      <h3>History</h3>
115
116
117
118
      <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>
119
    <div class="span-one-third">
120
      <h3>Browser support</h3>
Jacob Thornton's avatar
Jacob Thornton committed
121
      <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
122
      <img src="assets/img/browsers.png" width="258px" height="48px" alt="Tested and supported in Chrome, Safari, Internet Explorer, and Firefox">
123
124
125
      <ul>
        <li>Latest Safari</li>
        <li>Latest Google Chrome</li>
126
127
        <li>Firefox 4+</li>
        <li>Internet Explorer 7+</li>
Jacob Thornton's avatar
Jacob Thornton committed
128
        <li>Opera 11</li>
129
130
      </ul>
    </div>
131
    <div class="span-one-third">
132
133
134
135
136
137
138
139
      <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>
140
    </div>
141
  </div><!-- /row -->
142
143
144
145
146
147
148
149

  <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">
150
          <a href="../examples/hero.html"><img src="assets/img/example-diagram-01.png" class="diagram" alt="Simple three-column layout with hero unit"></a>
151
152
        </div>
        <div class="span4">
153
          <a href="../examples/fluid.html"><img src="assets/img/example-diagram-02.png" class="diagram" alt="Fluid layout with static sidebar"></a>
154
155
        </div>
        <div class="span4">
156
          <a href="../examples/container-app.html"><img src="assets/img/example-diagram-03.png" class="diagram" alt="Simple hanging container for apps"></a>
157
158
159
160
161
162
163
164
        </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 -->
165
</section>
166

Mark Otto's avatar
Mark Otto committed
167
168
169
170


<!-- Grid system
================================================== -->
171
<section id="grid-system">
172
173
  <div class="page-header">
    <h1>Grid system <small>Rock the standard 940px or roll your own</small></h1>
174
  </div>
175
  <div class="row">
Mark Otto's avatar
Mark Otto committed
176
    <div class="span4">
177
178
179
      <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
180
    <div class="span12">
181
182
      <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>
183
<pre class="prettyprint linenums">
184
&lt;div class="row"&gt;
Mark Otto's avatar
Mark Otto committed
185
  &lt;div class="span6"&gt;
186
187
    ...
  &lt;/div&gt;
Mark Otto's avatar
Mark Otto committed
188
  &lt;div class="span10"&gt;
189
190
    ...
  &lt;/div&gt;
191
192
&lt;/div&gt;
</pre>
193
    </div>
194
  </div><!-- /row -->
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
  <div class="row show-grid" title="16 column layout">
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
    <div class="span1 column">1</div>
212
  </div><!-- /row -->
213
  <div class="row show-grid" title="8 column layout">
Mark Otto's avatar
Mark Otto committed
214
215
216
217
218
219
220
221
    <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>
222
  </div><!-- /row -->
223
  <div class="row show-grid" title="Example uncommon layout">
Mark Otto's avatar
Mark Otto committed
224
225
226
227
228
    <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>
229
    <div class="span1 column">1</div>
230
  </div><!-- /row -->
231
  <div class="row show-grid" title="Four column layout">
Mark Otto's avatar
Mark Otto committed
232
233
234
235
    <div class="span4">4</div>
    <div class="span4">4</div>
    <div class="span4">4</div>
    <div class="span4">4</div>
236
  </div><!-- /row -->
237
238
239
240
241
  <div class="row show-grid" title="Default three column layout">
    <div class="span-one-third column">1/3</div>
    <div class="span-one-third column">1/3</div>
    <div class="span-one-third column">1/3</div>
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
242
243
244
245
  <div class="row show-grid" title="One-third and two-thirds layout">
    <div class="span-one-third column">1/3</div>
    <div class="span-two-thirds column">2/3</div>
  </div><!-- /row -->
246
  <div class="row show-grid" title="Irregular three column layout">
Mark Otto's avatar
Mark Otto committed
247
248
249
    <div class="span4">4</div>
    <div class="span6">6</div>
    <div class="span6">6</div>
250
  </div><!-- /row -->
251
  <div class="row show-grid" title="Half and half">
Mark Otto's avatar
Mark Otto committed
252
253
    <div class="span8">8</div>
    <div class="span8">8</div>
254
  </div><!-- /row -->
255
  <div class="row show-grid" title="Example uncommon two-column layout">
Mark Otto's avatar
Mark Otto committed
256
257
    <div class="span5">5</div>
    <div class="span11">11</div>
258
  </div><!-- /row -->
259
  <div class="row show-grid" title="Unnecessary single column layout">
Mark Otto's avatar
Mark Otto committed
260
    <div class="span16">16</div>
261
  </div><!-- /row -->
262
263
  <h4>Offsetting columns</h4>
  <div class="row show-grid">
Mark Otto's avatar
Mark Otto committed
264
    <div class="span4">4</div>
265
    <div class="span8 columns offset4">8 offset 4</div>
266
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
267
268
269
  <div class="row show-grid">
    <div class="span-one-third columns offset-two-thirds">1/3 offset 2/3s</div>
  </div><!-- /row -->
270
271
272
  <div class="row show-grid">
    <div class="span4 columns offset4">4 offset 4</div>
    <div class="span4 columns offset4">4 offset 4</div>
273
  </div><!-- /row -->
274
275
276
  <div class="row show-grid">
    <div class="span5 columns offset3">5 offset 3</div>
    <div class="span5 columns offset3">5 offset 3</div>
277
  </div><!-- /row -->
278
279
  <div class="row show-grid">
    <div class="span10 columns offset6">10 offset 6</div>
280
  </div><!-- /row -->
281
282
283
284
</section>



Mark Otto's avatar
Mark Otto committed
285
286
<!-- Layouts (Default and fluid)
================================================== -->
287
288
289
290
<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
291

292
  <div class="row">
Mark Otto's avatar
Mark Otto committed
293
    <div class="span8">
294
      <h2>Fixed layout</h2>
295
      <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>
296
297
298
      <div class="mini-layout">
        <div class="mini-layout-body"></div>
      </div>
299
<pre class="prettyprint linenums">
300
301
302
303
304
305
&lt;body&gt;
  &lt;div class="container"&gt;
    ...
  &lt;/div&gt;
&lt;/body&gt;
</pre>
306
    </div><!-- /col -->
Mark Otto's avatar
Mark Otto committed
307
    <div class="span8">
308
      <h2>Fluid layout</h2>
309
      <p>An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.</p>
310
311
312
313
      <div class="mini-layout fluid">
        <div class="mini-layout-sidebar"></div>
        <div class="mini-layout-body"></div>
      </div>
314
<pre class="prettyprint linenums">
315
316
317
318
319
320
321
322
323
324
325
&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>
326
327
    </div><!-- /col -->
  </div><!-- /row -->
328
329
330
331
</section>



Mark Otto's avatar
Mark Otto committed
332
333
<!-- Typography
================================================== -->
334
<section id="typography">
Mark Otto's avatar
Mark Otto committed
335
336
  <div class="page-header">
    <h1>Typography <small>Headings, paragraphs, lists, and other inline type elements</small></h1>
337
  </div>
338

Mark Otto's avatar
Mark Otto committed
339
340
  <!-- Headings & Paragraph Copy -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
341
    <div class="span4">
342
      <h2>Headings &amp; copy</h2>
Mark Otto's avatar
Mark Otto committed
343
      <p>A standard typographic hierarchy for structuring your webpages.</p>
344
345
      <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
346
    </div>
Mark Otto's avatar
Mark Otto committed
347
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
348
349
350
351
352
353
354
      <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
355
    <div class="span8">
Mark Otto's avatar
Mark Otto committed
356
357
358
359
      <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>
360
361
  </div>

Mark Otto's avatar
Mark Otto committed
362
363
  <!-- Misc Elements -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
364
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
365
366
367
368
369
370
371
372
373
      <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
374
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
375
376
377
378
      <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>
379
      <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
380
      <h3>Addresses</h3>
Mark Otto's avatar
Mark Otto committed
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
      <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
400
401
402
403
      <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>
404
  </div><!-- /row -->
405

Mark Otto's avatar
Mark Otto committed
406
407
  <!-- Blockquotes -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
408
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
409
410
411
412
413
414
415
      <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
416
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
417
      <h4>How to quote</h4>
Mark Otto's avatar
Mark Otto committed
418
      <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
419
      <blockquote>
Mark Otto's avatar
Mark Otto committed
420
        <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
421
422
423
        <small>Dr. Julius Hibbert</small>
      </blockquote>
    </div>
424
  </div><!-- /row -->
425

Mark Otto's avatar
Mark Otto committed
426
427
  <h2>Lists</h2>
  <div class="row">
Mark Otto's avatar
Mark Otto committed
428
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
429
430
      <h4>Unordered <code>&lt;ul&gt;</code></h4>
      <ul>
Mark Otto's avatar
Mark Otto committed
431
432
433
434
435
        <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
436
          <ul>
Mark Otto's avatar
Mark Otto committed
437
438
439
440
            <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
441
442
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
443
444
445
        <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
446
447
      </ul>
    </div>
Mark Otto's avatar
Mark Otto committed
448
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
449
450
      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
      <ul class="unstyled">
Mark Otto's avatar
Mark Otto committed
451
452
453
454
455
        <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
456
          <ul>
Mark Otto's avatar
Mark Otto committed
457
458
459
460
            <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
461
462
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
463
464
465
        <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
466
467
      </ul>
    </div>
Mark Otto's avatar
Mark Otto committed
468
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
469
470
      <h4>Ordered <code>&lt;ol&gt;</code></h4>
      <ol>
Mark Otto's avatar
Mark Otto committed
471
472
473
474
475
476
477
478
        <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
479
480
      </ol>
    </div>
Mark Otto's avatar
Mark Otto committed
481
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
482
483
484
485
486
487
488
489
490
491
492
      <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>
493
  </div><!-- /row -->
494
495
496
497
</section>



Mark Otto's avatar
Mark Otto committed
498
499
<!-- Tables
================================================== -->
500
<section id="tables">
Mark Otto's avatar
Mark Otto committed
501
502
  <div class="page-header">
    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
503
  </div>
Mark Otto's avatar
Mark Otto committed
504
505
  <!-- Table structure -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
506
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
      <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
522
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
      <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>
555
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
556
&lt;table&gt;
557
558
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
      <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>
591
      <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
592
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
593
&lt;table class="zebra-striped"&gt;
594
595
...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
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
625
626
627
      <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>
628
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
629
630
631
632
&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
&lt;script &gt;
  $(function() {
    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
633
634
  });
&lt;/script&gt;
Mark Otto's avatar
Mark Otto committed
635
&lt;table class="zebra-striped"&gt;
636
637
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
638
    </div>
639
  </div><!-- /row -->
640
641
642
643
</section>



Mark Otto's avatar
Mark Otto committed
644
645
<!-- Forms
================================================== -->
646
<section id="forms">
Mark Otto's avatar
Mark Otto committed
647
648
  <div class="page-header">
    <h1>Forms</h1>
649
  </div>
Mark Otto's avatar
Mark Otto committed
650
  <div class="row">
Mark Otto's avatar
Mark Otto committed
651
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
652
653
654
      <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
655
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
656
      <form>
Mark Otto's avatar
Mark Otto committed
657
658
659
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
660
            <label for="xlInput">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
661
662
663
            <div class="input">
              <input class="xlarge" id="xlInput" name="xlInput" size="30" type="text" />
            </div>
664
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
665
          <div class="clearfix">
666
            <label for="normalSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
667
            <div class="input">
668
              <select name="normalSelect" id="normalSelect">
Mark Otto's avatar
Mark Otto committed
669
670
671
672
673
674
675
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
676
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
677
          <div class="clearfix">
678
            <label for="mediumSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
679
            <div class="input">
680
              <select class="medium" name="mediumSelect" id="mediumSelect">
Mark Otto's avatar
Mark Otto committed
681
682
683
684
685
686
687
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
688
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
689
          <div class="clearfix">
690
            <label>Uneditable input</label>
Mark Otto's avatar
Mark Otto committed
691
            <div class="input">
692
              <span class="uneditable-input">Some value here</span>
Mark Otto's avatar
Mark Otto committed
693
            </div>
694
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
695
          <div class="clearfix">
696
            <label for="disabledInput">Disabled input</label>
Mark Otto's avatar
Mark Otto committed
697
698
699
            <div class="input">
              <input class="xlarge disabled" id="disabledInput" name="disabledInput" size="30" type="text" placeholder="Disabled input here… carry on." disabled />
            </div>
700
          </div><!-- /clearfix -->
701
702
703
704
705
706
          <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
707
          <div class="clearfix error">
708
            <label for="xlInput2">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
709
            <div class="input">
710
              <input class="xlarge error" id="xlInput2" name="xlInput2" size="30" type="text" />
Mark Otto's avatar
Mark Otto committed
711
712
              <span class="help-inline">Small snippet of help text</span>
            </div>
713
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
714
715
716
717
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
718
            <label for="prependedInput">Prepended text</label>
Mark Otto's avatar
Mark Otto committed
719
720
721
722
723
724
            <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>
725
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
726
          <div class="clearfix">
727
            <label for="prependedInput2">Prepended checkbox</label>
Mark Otto's avatar
Mark Otto committed
728
729
730
731
732
733
            <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>
734
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
735
          <div class="clearfix">
736
            <label for="appendedInput">Appended checkbox</label>
Mark Otto's avatar
Mark Otto committed
737
738
739
740
741
742
            <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>
743
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
744
          <div class="clearfix">
745
            <label for="fileInput">File input</label>
Mark Otto's avatar
Mark Otto committed
746
747
748
            <div class="input">
              <input class="input-file" id="fileInput" name="fileInput" type="file" />
            </div>
749
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
750
751
752
753
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
754
            <label id="optionsCheckboxes">List of options</label>
Mark Otto's avatar
Mark Otto committed
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
785
            <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>
786
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
787
          <div class="clearfix">
788
            <label>Date range</label>
Mark Otto's avatar
Mark Otto committed
789
790
791
792
793
794
795
796
797
798
            <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>
799
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
800
801
802
          <div class="clearfix">
            <label for="textarea">Textarea</label>
            <div class="input">
803
              <textarea class="xxlarge" id="textarea2" name="textarea2" rows="3"></textarea>
Mark Otto's avatar
Mark Otto committed
804
805
806
807
              <span class="help-block">
                Block of help text to describe the field above if need be.
              </span>
            </div>
808
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
809
          <div class="clearfix">
810
            <label id="optionsRadio">List of options</label>
Mark Otto's avatar
Mark Otto committed
811
812
813
814
            <div class="input">
              <ul class="inputs-list">
                <li>
                  <label>
815
                    <input type="radio" checked name="optionsRadios" value="option1" />
Mark Otto's avatar
Mark Otto committed
816
817
818
819
820
                    <span>Option one is this and that&mdash;be sure to include why it’s great</span>
                  </label>
                </li>
                <li>
                  <label>
821
822
                    <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
823
824
825
826
                  </label>
                </li>
              </ul>
            </div>
827
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
828
          <div class="actions">
829
            <input type="submit" class="btn primary" value="Save changes">&nbsp;<button type="reset" class="btn">Cancel</button>
830
          </div>
Mark Otto's avatar
Mark Otto committed
831
        </fieldset>
Jacob Thornton's avatar
Jacob Thornton committed
832
      </form>
833
    </div>
834
  </div><!-- /row -->
835

Mark Otto's avatar
Mark Otto committed
836
  <br />
837

Mark Otto's avatar
Mark Otto committed
838
  <div class="row">
Mark Otto's avatar
Mark Otto committed
839
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
840
841
      <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>
842
    </div>
Mark Otto's avatar
Mark Otto committed
843
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
844
845
846
847
      <form action="" class="form-stacked">
        <fieldset>
          <legend>Example form legend</legend>
          <div class="clearfix">
848
            <label for="xlInput3">X-Large input</label>
Mark Otto's avatar
Mark Otto committed
849
            <div class="input">
850
              <input class="xlarge" id="xlInput3" name="xlInput3" size="30" type="text" />
Mark Otto's avatar
Mark Otto committed
851
            </div>
852
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
853
          <div class="clearfix">
854
            <label for="stackedSelect">Select</label>
Mark Otto's avatar
Mark Otto committed
855
            <div class="input">
856
              <select name="stackedSelect" id="stackedSelect">
Mark Otto's avatar
Mark Otto committed
857
858
859
860
861
862
863
                <option>1</option>
                <option>2</option>
                <option>3</option>
                <option>4</option>
                <option>5</option>
              </select>
            </div>
864
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
865
866
867
        </fieldset>
        <fieldset>
          <legend>Example form legend</legend>
868
          <div class="clearfix error">
869
            <label for="xlInput4">X-Large input</label>
870
            <div class="input">
871
              <input class="xlarge error" id="xlInput4" name="xlInput4" size="30" type="text" />
872
873
              <span class="help-inline">Small snippet of help text</span>
            </div>
874
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
875
          <div class="clearfix">
876
            <label id="optionsCheckboxes">List of options</label>
Mark Otto's avatar
Mark Otto committed
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
            <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>
896
          </div><!-- /clearfix -->
Mark Otto's avatar
Mark Otto committed
897
898
        </fieldset>
        <div class="actions">
899
          <button type="submit" class="btn primary">Save changes</button>&nbsp;<button type="reset" class="btn">Cancel</button>
Mark Otto's avatar
Mark Otto committed
900
901
        </div>
      </form>
902
    </div>
903
  </div><!-- /row -->
Mark Otto's avatar
Mark Otto committed
904
905

  <div class="row">
Mark Otto's avatar
Mark Otto committed
906
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
907
908
      <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>
909
      <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>
910
    </div>
Mark Otto's avatar
Mark Otto committed
911
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
912
913
914
      <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
915
        <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
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
      </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">
936
        <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
937
      </div>
938
    </div>
939
  </div><!-- /row -->
940
941
942
943
</section>



Mark Otto's avatar
Mark Otto committed
944
945
<!-- Navigation
================================================== -->
946
<section id="navigation">
Mark Otto's avatar
Mark Otto committed
947
948
949
950
  <div class="page-header">
    <h1>Navigation</h1>
  </div>
  <h2>Fixed topbar</h2>
951
  <div class="topbar-wrapper" style="z-index: 5;">
Mark Otto's avatar
Mark Otto committed
952
    <div class="topbar">
953
      <div class="topbar-inner">
954
        <div class="container">
Jacob Thornton's avatar
Jacob Thornton committed
955
          <h3><a href="#">Project Name</a></h3>
956
          <ul class="nav">
Jacob Thornton's avatar
Jacob Thornton committed
957
958
959
960
            <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
961
            <li class="dropdown">
962
963
              <a href="#" class="dropdown-toggle">Dropdown</a>
              <ul class="dropdown-menu">
964
                <li><a href="#">Secondary link</a></li>
965
966
967
968
969
                <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
970
          </ul>
Mark Otto's avatar
Mark Otto committed
971
          <form class="pull-left" action="">
Jacob Thornton's avatar
Jacob Thornton committed
972
973
974
            <input type="text" placeholder="Search" />
          </form>
          <ul class="nav secondary-nav">
975
976
977
            <li class="dropdown">
              <a href="#" class="dropdown-toggle">Dropdown</a>
              <ul class="dropdown-menu">
Jacob Thornton's avatar
Jacob Thornton committed
978
979
980
981
982
983
984
985
                <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>
986
      </div><!-- /topbar-inner -->
987
988
    </div><!-- /topbar -->
  </div><!-- /topbar-wrapper -->
989

Mark Otto's avatar
Mark Otto committed
990
  <div class="row">
Mark Otto's avatar
Mark Otto committed
991
    <div class="span5">
992
      <h4>What is it</h4>
993
      <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
994
    </div>
Mark Otto's avatar
Mark Otto committed
995
    <div class="span5">
996
997
998
      <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
999
    <div class="span6">
1000
      <h4>Dropdowns included</h4>
1001
      <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
1002
1003
    </div>
  </div>
1004
  <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
1005
1006

  <br />
1007

1008
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1009
    <div class="span4">
1010
1011
1012
1013
      <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
1014
    <div class="span12">
1015
1016
1017
1018
1019
1020
      <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>
1021
1022
1023
1024
1025
1026
1027
1028
1029
        <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>
1030
      </ul>
1031
<pre class="prettyprint linenums">
1032
&lt;ul class="tabs"&gt;
Mark Otto's avatar
Mark Otto committed
1033
1034
1035
1036
1037
  &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;
1038
1039
&lt;/ul&gt;
</pre>
1040
1041
1042
1043
1044
1045
1046
      <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>
1047
<pre class="prettyprint linenums">
1048
&lt;ul class="pills"&gt;
Mark Otto's avatar
Mark Otto committed
1049
1050
1051
1052
1053
  &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;
1054
1055
1056
&lt;/ul&gt;
</pre>
    </div>
1057
  </div><!-- /row -->
1058

Mark Otto's avatar
Mark Otto committed
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
  <!-- 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>

1087
1088
  <!-- Pagination -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1089
    <div class="span4">
1090
1091
      <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>
1092
    </div>
Mark Otto's avatar
Mark Otto committed
1093
    <div class="span12">
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
      <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>
1135
<pre class="prettyprint linenums">
1136
1137
&lt;div class="pagination"&gt;
  &lt;ul&gt;
Mark Otto's avatar
Mark Otto committed
1138
1139
1140
1141
1142
1143
1144
    &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>
1145
1146
1147
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
1148
    </div>
1149
  </div><!-- /row -->
1150
1151
1152
1153
1154

</section>



Mark Otto's avatar
Mark Otto committed
1155
1156
<!-- Alerts & Messages
================================================== -->
1157
1158
<section id="alerts">
  <div class="page-header">
1159
1160
    <h1>Alerts &amp; Errors <small>Styles for success, warning, and error messages or alerts</small></h1>
  </div>
1161
  <!-- Basic alert messages -->
1162
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1163
    <div class="span4">
1164
      <h2>Basic alerts</h2>
1165
      <p><code>div.alert-message</code></p>
1166
1167
      <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
1168
    <div class="span12">
1169
1170
      <div class="alert-message warning">
        <a class="close" href="#">&times;</a>
1171
        <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
1172
      </div>
1173
      <div class="alert-message error">
1174
        <a class="close" href="#">&times;</a>
1175
        <p><strong>Oh snap!</strong> Change this and that and try again.</p>
1176
1177
1178
1179
1180
1181
1182
      </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>
1183
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1184
1185
      </div>
    </div>
1186
  </div><!-- /row -->
1187
  <!-- Block messages -->
1188
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1189
    <div class="span4">
1190
      <h2>Block messages</h2>
1191
      <p><code>div.alert-message.block-message</code></p>
1192
1193
      <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
1194
    <div class="span12">
1195
1196
      <div class="alert-message block-message warning">
        <a class="close" href="#">&times;</a>
1197
        <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>
1198
1199
1200
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1201
      </div>
1202
      <div class="alert-message block-message error">
1203
        <a class="close" href="#">&times;</a>
1204
1205
1206
1207
1208
1209
        <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>
1210
1211
1212
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1213
1214
1215
1216
      </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>
1217
1218
1219
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1220
1221
1222
      </div>
      <div class="alert-message block-message info">
        <a class="close" href="#">&times;</a>
1223
        <p><strong>Heads up!</strong> This is an alert that needs your attention, but it’s not a huge priority just yet.</p>
1224
1225
1226
        <div class="alert-actions">
          <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
        </div>
1227
1228
      </div>
    </div>
1229
  </div><!-- /row -->
1230
1231
1232
</section>


Mark Otto's avatar
Mark Otto committed
1233
1234
<!-- Popovers
================================================== -->
Mark Otto's avatar
Mark Otto committed
1235
<section id="popovers">
Jacob Thornton's avatar
Jacob Thornton committed
1236
  <div class="page-header">
Mark Otto's avatar
Mark Otto committed
1237
    <h1>Popovers <small>Components for displaying content in modals, tooltips, and popovers</small></h1>
Jacob Thornton's avatar
Jacob Thornton committed
1238
1239
  </div>
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1240
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1241
      <h2>Modals</h2>
1242
      <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
1243
    </div>
Mark Otto's avatar
Mark Otto committed
1244
    <div class="span12">
Jacob Thornton's avatar
Jacob Thornton committed
1245
      <div class="well" style="background-color: #888; border: none; padding: 40px;">
1246
        <!-- Modal -->
1247
        <div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1">
Jacob Thornton's avatar
Jacob Thornton committed
1248
          <div class="modal-header">
1249
            <h3>Modal Heading</h3>
Jacob Thornton's avatar
Jacob Thornton committed
1250
1251
1252
            <a href="#" class="close">&times;</a>
          </div>
          <div class="modal-body">
1253
            <p>One fine body…</p>
Jacob Thornton's avatar
Jacob Thornton committed
1254
1255
          </div>
          <div class="modal-footer">
Mark Otto's avatar
Mark Otto committed
1256
1257
            <a href="#" class="btn primary">Primary</a>
            <a href="#" class="btn secondary">Secondary</a>
Jacob Thornton's avatar
Jacob Thornton committed
1258
1259
1260
          </div>
        </div>
      </div>
1261
    </div>
1262
  </div><!-- /row -->
1263

1264
  <!-- Tooltips -->
1265
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1266
    <div class="span4">
1267
1268
1269
      <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
1270
    <div class="span12">
1271
1272
1273
      <div class="twipsies well">
        <div style="position: relative">
          <p class="muted" style="margin-bottom: 0">
Jacob Thornton's avatar
Jacob Thornton committed
1274
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.
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
          </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
1291
1292
1293
1294
          </div>
        </div>
      </div>
    </div>
1295
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1296

1297
  <!-- Popovers -->
Mark Otto's avatar
Mark Otto committed
1298
  <div class="row">
Mark Otto's avatar
Mark Otto committed
1299
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
1300
      <h2>Popovers</h2>
Mark Otto's avatar
Mark Otto committed
1301
      <p>Use popovers to provide subtextual information to a page without affecting layout.</p>
Mark Otto's avatar
Mark Otto committed
1302
    </div>
Mark Otto's avatar
Mark Otto committed
1303
    <div class="span12">
Mark Otto's avatar
Mark Otto committed
1304
      <div class="well popover-well">
Jacob Thornton's avatar
Jacob Thornton committed
1305
1306
         <div class="popover-wrapper">
          <div class="popover left">
Mark Otto's avatar
Mark Otto committed
1307
1308
            <div class="arrow"></div>
            <div class="inner">
Jacob Thornton's avatar
Jacob Thornton committed
1309
              <h3 class="title">Popover Title</h3>
Mark Otto's avatar
Mark Otto committed
1310
1311
1312
1313
1314
              <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>
1315
          <img class="large-bird" src="assets/img/bird.png" width="220px" height="145px">
Mark Otto's avatar
Mark Otto committed
1316
1317
1318
        </div>
      </div>
    </div>
1319
  </div><!-- /row -->
Jacob Thornton's avatar
Jacob Thornton committed
1320
</section>
1321

Mark Otto's avatar
Mark Otto committed
1322

1323
1324
1325
1326
1327
1328
1329
1330
<!-- 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
1331
     <div class="span4">
1332
1333
       <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
1334
     <div class="span12">
1335
1336
1337
       <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>
1338
       <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>.
1339
         <dl>
1340
           <dt><a href="./javascript.html#modal">bootstrap-modal.js</a></dt>
1341
           <dd>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.</dd>
1342
           <dt><a href="./javascript.html#alerts">bootstrap-alerts.js</a></dt>
1343
           <dd>The alert plugin is a super tiny class for adding close functionality to alerts.</dd>
1344
           <dt><a href="./javascript.html#dropdowns">bootstrap-dropdown.js</a></dt>
1345
           <dd>This plugin is for adding dropdown to the bootstrap nav.</dd>
1346
           <dt><a href="./javascript.html#twipsy">bootstrap-twipsy.js</a></dt>
1347
           <dd>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!</dd>
1348
           <dt><a href="./javascript.html#popover">bootstrap-popover.js</a></dt>
1349
1350
1351
1352
1353
1354
           <dd>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!</dd>
         </dl>
       </p>
     </div>
   </div>

Mark Otto's avatar
Mark Otto committed
1355

Mark Otto's avatar
Mark Otto committed
1356
1357
<!-- Using Bootstrap w/ Less
================================================== -->
1358
<section id="less">
Mark Otto's avatar
Mark Otto committed
1359
<div class="page-header">
1360
  <h1>Using Bootstrap with Less <small>Supercharge your CSS with variables, mixins, and functions</small></h1>
Mark Otto's avatar
Mark Otto committed
1361
1362
</div>
<div class="row">
Mark Otto's avatar
Mark Otto committed
1363
  <div class="span4">
1364
1365
    <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
1366
  </div>
Mark Otto's avatar
Mark Otto committed
1367
  <div class="span12">
Mark Otto's avatar
Mark Otto committed
1368
    <h2>How to use it</h2>
1369
    <p>Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.</p>
1370
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
1371
&lt;link rel="stylesheet/less" href="less/bootstrap.less" media="all" /&gt;
Mark Otto's avatar
Mark Otto committed
1372
&lt;script src="js/less-1.1.3.min.js"&gt;&lt;/script&gt;</pre>
1373
<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
1374

1375
1376
    <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>
1377
    <h3>Variables</h3>
1378
    <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>
1379
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
// 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;

1401
1402
1403
// Baseline grid
@basefont:          13px;
@baseline:          18px;
Mark Otto's avatar
Mark Otto committed
1404
1405
1406
</pre>

<h3>Commenting</h3>
1407
<p>Less also provides another style of commenting in addition to CSS’s normal <code>/* ... */</code> syntax.</p>
1408
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1409
1410
1411
1412
1413
// This is a comment
/* This is also a comment */
</pre>

<h3>Mixins up the wazoo</h3>
1414
<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
1415
<h4>Font stacks</h4>
1416
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
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
1442
1443
#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>
1444
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
#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;
1460
1461
1462
1463
1464
1465
1466
    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
1467
1468
1469
1470
  }
  .directional (@startColor: #555, @endColor: #333, @deg: 45deg) {
    ...
  }
1471
  .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
Mark Otto's avatar
Mark Otto committed
1472
1473
1474
1475
1476
1477
    ...
  }
}
</pre>

<h3>Operations and grid system</h3>
1478
<p>Get fancy and perform some math to generate flexible and powerful mixins like the one below.</p>
1479
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
1480
1481
1482
1483
// Griditude
@gridColumns:       16;
@gridColumnWidth:   40px;
@gridGutterWidth:   20px;
1484
@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
Mark Otto's avatar
Mark Otto committed
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495

// Grid System
.container {
  width: @siteWidth;
  margin: 0 auto;
  .clearfix();
}
.columns(@columnSpan: 1) {
  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
}
.offset(@columnOffset: 1) {
1496
  margin-left: (@gridColumnWidth * @columnOffset) + (@gridGutterWidth * (@columnOffset - 1)) + @extraSpace;
Mark Otto's avatar
Mark Otto committed
1497
1498
1499
1500
1501
1502
1503
}
</pre>
  </div>
</div>

</section>

1504
    </div><!-- /container -->
1505
1506
1507
1508

    <div id="footer">
      <div class="inner">
        <div class="container">
1509
          <p class="right"><a href="#">Back to top</a></p>
1510
          <p>
1511
            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
1512
            Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>.
1513
          </p>
1514
1515
        </div>
      </div>
1516
1517
1518
    </div>

  </body>
1519
</html>