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

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

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

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

26
  <body>
27

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

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

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

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


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

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

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

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


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

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

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

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

268
269
  <br>

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

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

351
352
353
354
</section>



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

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



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

409
410
  <h2>Headings &amp; body copy</h2>

Mark Otto's avatar
Mark Otto committed
411
412
  <!-- Headings & Paragraph Copy -->
  <div class="row">
Mark Otto's avatar
Mark Otto committed
413
    <div class="span4">
414
      <h3>Typographic scale</h3>
Mark Otto's avatar
Mark Otto committed
415
      <p>The entire typographic grid is based on two Less variables in our preboot.less file: <code>@baseFontSize</code> and <code>@baseLineHeight</code>. The first is the base font-size used throughout and the second is the base line-height.</p>
416
      <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
417
    </div>
Mark Otto's avatar
Mark Otto committed
418
    <div class="span4">
419
420
421
      <h3>Example body text</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>
      <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec sed odio dui.</p>
Mark Otto's avatar
Mark Otto committed
422
    </div>
423
    <div class="span4">
424
425
426
427
428
429
430
431
      <div class="well">
        <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
432
    </div>
433
434
  </div>

Mark Otto's avatar
Mark Otto committed
435
  <!-- Misc Elements -->
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
  <h2>Emphasis, address, and abbreviation</h2>
  <table class="zebra-striped">
    <thead>
      <tr>
        <th>Element</th>
        <th>Description</th>
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          <code>&lt;strong&gt;</code>
        </td>
        <td>
          For emphasizing a snippet of text with <strong>important</strong>
        </td>
        <td>
          <span class="muted">None</span>
        </td>
      </tr>
      <tr>
        <td>
          <code>&lt;em&gt;</code>
        </td>
        <td>
          For emphasizing a snippet of text with <em>stress</em>
        </td>
        <td>
          <span class="muted">None</span>
        </td>
      </tr>
      <tr>
        <td>
          <code>&lt;abbr&gt;</code>
        </td>
        <td>
          Wraps abbreviations and acronyms to show the expanded version on hover
        </td>
        <td>
          Include optional <code>title</code> for expanded text
        </td>
      </tr>
      <tr>
        <td>
          <code>&lt;address&gt;</code>
        </td>
        <td>
          For contact information for its nearest ancestor or the entire body of work
        </td>
        <td>
          Preserve formatting by ending all lines with <code>&lt;br&gt;</code>
        </td>
      </tr>
    </tbody>
  </table>

Mark Otto's avatar
Mark Otto committed
493
  <div class="row">
494
495
    <div class="span4">
      <h3>Using emphasis</h3>
Mark Otto's avatar
Mark Otto committed
496
      <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>
497
      <p><strong>Note:</strong> Feel free to use <code>&lt;b&gt;</code> and <code>&lt;i&gt;</code> in HTML5, but their usage has changed a bit. <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
498
    </div>
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
    <div class="span4">
      <h3>Example addresses</h3>
      <p>Here are two examples of how the <code>&lt;address&gt;</code> tag can be used:</p>
      <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>
      <address>
        <strong>Full Name</strong><br>
        <a mailto="#">first.last@gmail.com</a>
      </address>
    </div>
    <div class="span4">
      <h3>Example abbreviations</h3>
      <p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p>
      <p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p>
      <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
    </div>
  </div>

521

Mark Otto's avatar
Mark Otto committed
522
  <!-- Blockquotes -->
523
  <h2>Blockquotes</h2>
Mark Otto's avatar
Mark Otto committed
524
  <div class="row">
525
    <div class="span5">
Mark Otto's avatar
Mark Otto committed
526
      <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
527
      <blockquote>
Mark Otto's avatar
Mark Otto committed
528
        <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
529
530
        <small>Dr. Julius Hibbert</small>
      </blockquote>
531
532
    </div>
    <div class="span7">
533
534
535
536
537
538
<pre class="prettyprint linenums">
&lt;blockquote&gt;
  &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.&lt;/p&gt;
  &lt;small&gt;Dr. Julius Hibbert&lt;/small&gt;
&lt;/blockquote&gt;
</pre>
Mark Otto's avatar
Mark Otto committed
539
    </div>
540
  </div>
541

542
  <!-- Lists -->
Mark Otto's avatar
Mark Otto committed
543
544
  <h2>Lists</h2>
  <div class="row">
545
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
546
547
      <h4>Unordered <code>&lt;ul&gt;</code></h4>
      <ul>
Mark Otto's avatar
Mark Otto committed
548
549
550
551
552
        <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
553
          <ul>
Mark Otto's avatar
Mark Otto committed
554
555
556
557
            <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
558
559
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
560
561
562
        <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
563
564
      </ul>
    </div>
565
    <div class="span3">
566
      <h4>Unstyled <code>&lt;ul.unstyled&gt;</code></h4>
Mark Otto's avatar
Mark Otto committed
567
      <ul class="unstyled">
Mark Otto's avatar
Mark Otto committed
568
569
570
571
572
        <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
573
          <ul>
Mark Otto's avatar
Mark Otto committed
574
575
576
577
            <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
578
579
          </ul>
        </li>
Mark Otto's avatar
Mark Otto committed
580
581
582
        <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
583
584
      </ul>
    </div>
585
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
586
587
      <h4>Ordered <code>&lt;ol&gt;</code></h4>
      <ol>
Mark Otto's avatar
Mark Otto committed
588
589
590
591
592
593
594
595
        <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
596
597
      </ol>
    </div>
598
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
599
      <h4>Description <code>&lt;dl&gt;</code></h4>
Mark Otto's avatar
Mark Otto committed
600
601
602
603
604
605
606
607
608
609
      <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>
610
  </div><!-- /row -->
611
612
613


  <!-- Code -->
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630

  <h2>Code <small>Inline and block</small></h2>
  <table class="zebra-striped">
    <thead>
      <tr>
        <th style="width: 190px;">Element</th>
        <th>Result</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>&lt;code&gt;</code></td>
        <td>In a line of text like this, your wrapped code will look like this <code>&lt;html&gt;</code> element.</td>
      </tr>
      <tr>
        <td><code>&lt;pre&gt;</code></td>
        <td>
631
632
633
634
<pre>&lt;div&gt;
  &lt;h1&gt;Heading&lt;/h1&gt;
  &lt;p&gt;Something right here...&lt;/p&gt;
&lt;/div&gt;</pre>
635
636
637
638
639
640
641
          <p><strong>Note:</strong> Be sure to keep code within <code>pre</code> tags as close to the left as possible; it will render all tabs.</p>
        </td>
      </tr>
      <tr>
        <td><code>&lt;pre class="prettyprint"&gt;</code></td>
        <td>
          <p>Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting.</p>
642
643
644
645
<pre class="prettyprint">&lt;div&gt;
  &lt;h1&gt;Heading&lt;/h1&gt;
  &lt;p&gt;Something right here...&lt;/p&gt;
&lt;/div&gt;</pre>
646
647
648
649
650
          <p><a href="http://code.google.com/p/google-code-prettify/">Download google-code-prettify</a> and view the readme for <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html">how to use</a>.</p>
        </td>
      </tr>
    </tbody>
  </table>
651
652

  <!-- Labels -->
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
  <h2>Inline labels <small>for special attention</small></h2>
  <table class="zebra-striped">
    <thead>
      <tr>
        <th style="width: 190px;">Labels</th>
        <th>Markup</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          <span class="label">Default</span>
        </td>
        <td>
          <code>&lt;span class="label"&gt;Default&lt;/span&gt;</code>
        </td>
      </tr>
      <tr>
        <td>
          <span class="label success">New</span>
        </td>
        <td>
          <code>&lt;span class="label success"&gt;New&lt;/span&gt;</code>
        </td>
      </tr>
      <tr>
        <td>
          <span class="label warning">Warning</span>
        </td>
        <td>
          <code>&lt;span class="label warning"&gt;Warning&lt;/span&gt;</code>
        </td>
      </tr>
      <tr>
        <td>
          <span class="label important">Important</span>
        </td>
        <td>
          <code>&lt;span class="label important"&gt;Important&lt;/span&gt;</code>
        </td>
      </tr>
      <tr>
        <td>
          <span class="label notice">Notice</span>
        </td>
        <td>
          <code>&lt;span class="label notice"&gt;Notice&lt;/span&gt;</code>
        </td>
      </tr>
    </tbody>
  </table>
704

705
706
707
708
</section>



Mark Otto's avatar
Mark Otto committed
709
710
<!-- Tables
================================================== -->
711
<section id="tables">
Mark Otto's avatar
Mark Otto committed
712
713
  <div class="page-header">
    <h1>Tables <small>For, you guessed it, tabular data</small></h1>
714
  </div>
Mark Otto's avatar
Mark Otto committed
715
716
  <!-- Table structure -->
  <div class="row">
717
    <div class="span3">
Mark Otto's avatar
Mark Otto committed
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
      <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>
733
    <div class="span9">
Mark Otto's avatar
Mark Otto committed
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
      <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>
766
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
767
&lt;table&gt;
768
769
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
770
771
772
773
774
775
776
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
      <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>
802
      <p><strong>Note:</strong> Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.</p>
803
<pre class="prettyprint linenums">
Mark Otto's avatar
Mark Otto committed
804
&lt;table class="zebra-striped"&gt;
805
806
...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
      <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>
839
<pre class="prettyprint linenums">
Jacob Thornton's avatar
Jacob Thornton committed
840
841
842
843
&lt;script src="js/jquery/jquery.tablesorter.min.js"&gt;&lt;/script&gt;
&lt;script &gt;
  $(function() {
    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
844
845
  });
&lt;/script&gt;
Mark Otto's avatar
Mark Otto committed
846
&lt;table class="zebra-striped"&gt;
847
848
  ...
&lt;/table&gt;</pre>
Mark Otto's avatar
Mark Otto committed
849
    </div>
850
  </div><!-- /row -->
851
852
853
854
</section>



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