less.html 29.5 KB
Newer Older
1
2
3
4
5
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Bootstrap, from Twitter</title>
Raul Riera's avatar
Raul Riera committed
6
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
8
9
    <meta name="description" content="">
    <meta name="author" content="">

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

    <!-- Le styles -->
16
17
    <link href="assets/css/bootstrap.css" rel="stylesheet">
    <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
18
19
20
21
    <link href="assets/css/docs.css" rel="stylesheet">
    <link href="assets/js/google-code-prettify/prettify.css" rel="stylesheet">

    <!-- Le fav and touch icons -->
Mark Otto's avatar
Mark Otto committed
22
    <link rel="shortcut icon" href="assets/ico/favicon.ico">
Mark Otto's avatar
Mark Otto committed
23
24
25
    <link rel="apple-touch-icon" href="assets/ico/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="assets/ico/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="assets/ico/apple-touch-icon-114x114.png">
26
27
  </head>

Jacob Thornton's avatar
Jacob Thornton committed
28
  <body data-spy="scroll" data-target=".subnav" data-offset="50">
29
30


Jacob Thornton's avatar
Jacob Thornton committed
31
  <!-- Navbar
32
    ================================================== -->
33
    <div class="navbar navbar-fixed-top">
34
35
      <div class="navbar-inner">
        <div class="container">
36
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
37
38
39
40
            <span class="i-bar"></span>
            <span class="i-bar"></span>
            <span class="i-bar"></span>
          </a>
41
          <a class="brand" href="./index.html">Bootstrap</a>
Mark Otto's avatar
Mark Otto committed
42
          <div class="nav-collapse">
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
            <ul class="nav">
              <li class="">
                <a href="./index.html">Overview</a>
              </li>
              <li class="">
                <a href="./scaffolding.html">Scaffolding</a>
              </li>
              <li class="">
                <a href="./base-css.html">Base CSS</a>
              </li>
              <li class="">
                <a href="./components.html">Components</a>
              </li>
              <li class="">
                <a href="./javascript.html">Javascript plugins</a>
              </li>
              <li class="active">
                <a href="./less.html">Using LESS</a>
              </li>
              <li class="">
                <a href="./download.html">Customize</a>
              </li>
65
66
67
68
              <li class="vertical-divider"></li>
              <li class="">
                <a href="./examples.html">Examples</a>
              </li>
69
70
            </ul>
          </div>
71
72
73
74
75
76
        </div>
      </div>
    </div>

    <div class="container">

77
78
79
<div class="alert">
  <strong>Heads up!</strong> This page is still under construction and is missing plenty of documentation. Hang tight!
</div>
80

81
82
83
84
85
86
87
<!-- Masthead
================================================== -->
<header class="jumbotron subhead" id="overview">
  <h1>Using LESS with Bootstrap</h1>
  <p class="lead">Customize and extend Bootstrap with <a href="http://lesscss.org" target="_blank">LESS</a>, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.</p>
  <div class="subnav">
    <ul class="nav pills">
88
89
90
91
      <li><a href="#builtWith">Built with Less</a></li>
      <li><a href="#variables">Variables</a></li>
      <li><a href="#mixins">Mixins</a></li>
      <li><a href="#compiling">Compiling Bootstrap</a></li>
92
93
94
    </ul>
  </div>
</header>
95
96


97

98
99
100
101
102
103
104
105
106
<!-- BUILT WITH LESS
================================================== -->
<section id="builtWith">
  <div class="page-header">
    <h1>Built with LESS</h1>
  </div>
  <div class="row">
    <div class="span4">
      <h3>Why LESS?</h3>
107
      <p>Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, <a href="http://cloudhead.io">Alexis Sellier</a>. It makes developing systems-based CSS faster, easier, and more fun.</p>
108
109
110
111
112
113
114
115
116
117
118
119
120
    </div>
    <div class="span4">
      <h3>What's included?</h3>
      <p>As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.</p>
    </div>
    <div class="span4">
      <h3>Learn more</h3>
      <img style="float: right; height: 36px;" src="assets/img/less-logo-large.png" alt="LESS CSS">
      <p>Visit the official website at <a href="http://lesscss.org">http://lesscss.org</a> to learn more.</p>
    </div>
  </div>
  <div class="row">
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
121
      <h3><a href="#variables">Variables</a></h3>
122
123
124
      <p>Managing colors and pixel values in CSS can be a bit of a pain, usually full of copy and paste. Not with LESS though&mdash;assign colors or pixel values as variables and change them once.</p>
    </div>
    <div class="span4">
Mark Otto's avatar
Mark Otto committed
125
      <h3><a href="#mixins">Mixins</a></h3>
126
127
128
129
130
131
132
133
134
135
      <p>Those three border-radius declarations you need to make in regular ol' CSS? Now they're down to one line with the help of mixins, snippets of code you can reuse anywhere.</p>
    </div>
    <div class="span4">
      <h3>Operations</h3>
      <p>Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.</p>
    </div>
  </div>
</section>


136

137
138
139
140
<!-- VARIABLES
================================================== -->
<section id="variables">
  <div class="page-header">
141
    <h1>Bootstrap variables <small>LESS variables, their values, and usage guidelines</small></h1>
142
  </div>
143

144
145
  <div class="row">
    <div class="span6">
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
      <h3>Hyperlinks</h3>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
            <td class="span2"><code>@linkColor</code></td>
            <td>#08c</td>
            <td>Default link text color</td>
            <td class="swatch-col"><span class="swatch" style="background-color: #08c;"></span></td>
          </tr>
          <tr>
            <td><code>@linkColorHover</code></td>
            <td><code>darken(@linkColor, 15%)</code></td>
            <td>Default link text hover color</td>
            <td><span class="swatch" style="background-color: #005580;"></span></td>
          </tr>
        </tbody>
      </table>
      <h3>Grid system</h3>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
            <td class="span2"><code>@gridColumns</code></td>
            <td>12</td>
          </tr>
          <tr>
            <td><code>@gridColumnWidth</code></td>
            <td>60px</td>
          </tr>
          <tr>
            <td><code>@gridGutterWidth</code></td>
            <td>20px</td>
          </tr>
          <tr>
            <td><code>@siteWidth</code></td>
            <td><code>(@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1))</code></td>
          </tr>
        </tbody>
      </table>
      <h3>Typography</h3>
185
      <table class="table table-bordered table-striped">
186
187
188
189
190
        <tbody>
          <tr>
            <td class="span2"><code>@baseFontSize</code></td>
            <td>13px</td>
          </tr>
191
          <tr>
192
193
194
            <td><code>@baseFontFamily</code></td>
            <td><code>"Helvetica Neue", Helvetica, Arial, sans-serif</code></td>
            <td></td>
195
          </tr>
196
197
198
199
200
201
202
203
204
205
          <tr>
            <td><code>@baseLineHeight</code></td>
            <td>18px</td>
          </tr>
        </tbody>
      </table>
    </div>
    <div class="span6">
      <h3>Grayscale colors</h3>
      <table class="table table-bordered table-striped">
206
207
        <tbody>
          <tr>
208
            <td class="span2"><code>@black</code></td>
209
            <td>#000</td>
210
            <td class="swatch-col"><span class="swatch" style="background-color: #000;"></span></td>
211
212
213
214
          </tr>
          <tr>
            <td><code>@grayDarker</code></td>
            <td>#222</td>
215
            <td><span class="swatch" style="background-color: #222;"></span></td>
216
217
218
219
          </tr>
          <tr>
            <td><code>@grayDark</code></td>
            <td>#333</td>
220
            <td><span class="swatch" style="background-color: #333;"></span></td>
221
222
223
224
          </tr>
          <tr>
            <td><code>@gray</code></td>
            <td>#555</td>
225
            <td><span class="swatch" style="background-color: #555;"></span></td>
226
227
228
229
          </tr>
          <tr>
            <td><code>@grayLight</code></td>
            <td>#999</td>
230
            <td><span class="swatch" style="background-color: #999;"></span></td>
231
232
233
234
          </tr>
          <tr>
            <td><code>@grayLighter</code></td>
            <td>#eee</td>
235
            <td><span class="swatch" style="background-color: #eee;"></span></td>
236
237
238
239
          </tr>
          <tr>
            <td><code>@white</code></td>
            <td>#fff</td>
240
            <td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
241
242
243
244
245
246
247
          </tr>
        </tbody>
      </table>
      <h3>Accent colors</h3>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
248
            <td class="span2"><code>@blue</code></td>
249
            <td>#049cdb</td>
250
            <td class="swatch-col"><span class="swatch" style="background-color: #049cdb;"></span></td>
251
252
253
254
          </tr>
          <tr>
            <td><code>@green</code></td>
            <td>#46a546</td>
255
            <td><span class="swatch" style="background-color: #46a546;"></span></td>
256
257
258
259
          </tr>
          <tr>
            <td><code>@red</code></td>
            <td>#9d261d</td>
260
            <td><span class="swatch" style="background-color: #9d261d;"></span></td>
261
262
263
264
          </tr>
          <tr>
            <td><code>@yellow</code></td>
            <td>#ffc40d</td>
265
            <td><span class="swatch" style="background-color: #ffc40d;"></span></td>
266
267
268
269
          </tr>
          <tr>
            <td><code>@orange</code></td>
            <td>#f89406</td>
270
            <td><span class="swatch" style="background-color: #f89406;"></span></td>
271
272
273
274
          </tr>
          <tr>
            <td><code>@pink</code></td>
            <td>#c3325f</td>
275
            <td><span class="swatch" style="background-color: #c3325f;"></span></td>
276
277
278
279
          </tr>
          <tr>
            <td><code>@purple</code></td>
            <td>#7a43b6</td>
280
            <td><span class="swatch" style="background-color: #7a43b6;"></span></td>
281
282
283
284
285
          </tr>
        </tbody>
      </table>
    </div>
  </div> <!-- /row -->
286

287
288
289
290
291
292
293
  <h3>Components</h3>
  <div class="row">
    <div class="span6">
      <h4>Buttons</h4>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
294
295
            <td class="span3"><code>@primaryButtonBackground</code></td>
            <td><code>@linkColor</code></td>
296
            <td class="swatch-col"><span class="swatch" style="background-color: #08c;"></span></td>
297
298
299
300
301
302
303
304
305
          </tr>
        </tbody>
      </table>
      <h4>Forms</h4>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
            <td class="span3"><code>@placeholderText</code></td>
            <td><code>@grayLight</code></td>
306
            <td class="swatch-col"><span class="swatch" style="background-color: #999;"></span></td>
307
308
309
310
311
312
313
314
315
          </tr>
        </tbody>
      </table>
      <h4>Navbar</h4>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
            <td class="span3"><code>@navbarHeight</code></td>
            <td>40px</td>
316
            <td class="swatch-col"></td>
317
318
319
320
          </tr>
          <tr>
            <td><code>@navbarBackground</code></td>
            <td><code>@grayDarker</code></td>
321
            <td><span class="swatch" style="background-color: #222;"></span></td>
322
323
324
325
          </tr>
          <tr>
            <td><code>@navbarBackgroundHighlight</code></td>
            <td><code>@grayDark</code></td>
326
            <td><span class="swatch" style="background-color: #333;"></span></td>
327
          </tr>
328
329
330
          <tr>
            <td><code>@navbarText</code></td>
            <td><code>@grayLight</code></td>
331
            <td><span class="swatch" style="background-color: #999;"></span></td>
332
333
334
335
          </tr>
          <tr>
            <td><code>@navbarLinkColor</code></td>
            <td><code>@grayLight</code></td>
336
            <td><span class="swatch" style="background-color: #999;"></span></td>
337
338
339
340
          </tr>
          <tr>
            <td><code>@navbarLinkColorHover</code></td>
            <td><code>@white</code></td>
341
            <td><span class="swatch swatch-bordered" style="background-color: #fff;"></span></td>
342
          </tr>
343
344
345
346
347
348
349
350
351
        </tbody>
      </table>
    </div>
    <div class="span6">
      <h4>Form states and alerts</h4>
      <table class="table table-bordered table-striped">
        <tbody>
          <tr>
            <td class="span3"><code>@warningText</code></td>
Mark Otto's avatar
Mark Otto committed
352
353
            <td>#f3edd2</td>
            <td class="swatch-col"><span class="swatch" style="background-color: #f3edd2;"></span></td>
354
355
356
          </tr>
          <tr>
            <td><code>@warningBackground</code></td>
Mark Otto's avatar
Mark Otto committed
357
358
            <td>#c09853</td>
            <td><span class="swatch" style="background-color: #c09853;"></span></td>
359
360
361
362
          </tr>
          <tr>
            <td><code>@errorText</code></td>
            <td>#b94a48</td>
363
            <td><span class="swatch" style="background-color: #b94a48;"></span></td>
364
365
366
367
          </tr>
          <tr>
            <td><code>@errorBackground</code></td>
            <td>#f2dede</td>
368
            <td><span class="swatch" style="background-color: #f2dede;"></span></td>
369
370
371
372
          </tr>
          <tr>
            <td><code>@successText</code></td>
            <td>#468847</td>
373
            <td><span class="swatch" style="background-color: #468847;"></span></td>
374
375
376
377
          </tr>
          <tr>
            <td><code>@successBackground</code></td>
            <td>#dff0d8</td>
378
            <td><span class="swatch" style="background-color: #dff0d8;"></span></td>
379
380
381
382
          </tr>
          <tr>
            <td><code>@infoText</code></td>
            <td>#3a87ad</td>
383
            <td><span class="swatch" style="background-color: #3a87ad;"></span></td>
384
385
386
387
          </tr>
          <tr>
            <td><code>@infoBackground</code></td>
            <td>#d9edf7</td>
388
            <td><span class="swatch" style="background-color: #d9edf7;"></span></td>
389
390
391
392
393
          </tr>
        </tbody>
      </table>
    </div>
  </div><!-- /row -->
394

395
</section>
396
397
398



399
400
<!-- MIXINS
================================================== -->
Mark Otto's avatar
Mark Otto committed
401
402
403
404
405
406
407
408
409
<section id="mixins">
  <div class="page-header">
    <h1>Bootstrap mixins <small></small></h1>
  </div>
  <h2>About mixins</h2>
  <div class="row">
    <div class="span4">
      <h3>Basic mixins</h3>
      <p>A basic mixin is essentially an include or a partial for a snippet of CSS. They're written just like a CSS class and can be called anywhere.</p>
410
<pre class="prettyprint linenums">
411
412
413
.element {
  .clearfix();
}
414
</pre>
Mark Otto's avatar
Mark Otto committed
415
416
417
    </div><!-- /span4 -->
    <div class="span4">
      <h3>Parametric mixins</h3>
418
      <p>A parametric mixin is just like a basic mixin, but it also accepts parameters (hence the name) with optional default values.</p>
419
<pre class="prettyprint linenums">
420
421
422
.element {
  .border-radius(4px);
}
423
</pre>
Mark Otto's avatar
Mark Otto committed
424
425
426
427
428
429
430
431
432
433
434
435
436
    </div><!-- /span4 -->
    <div class="span4">
      <h3>Easily add your own</h3>
      <p>Nearly all of Bootstrap's mixins are stored in mixins.less, a wonderful utility .less file that enables you to use a mixin in any of the .less files in the toolkit.</p>
      <p>So, go ahead and use the existing ones or feel free to add your own as you need.</p>
    </div><!-- /span4 -->
  </div><!-- /row -->
  <h2>Included mixins</h2>
  <h3>Utilities</h3>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        <th class="span4">Mixin</th>
Mark Otto's avatar
Mark Otto committed
437
        <th>Parameters</th>
Mark Otto's avatar
Mark Otto committed
438
439
440
441
442
443
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>.clearfix()</code></td>
Mark Otto's avatar
Mark Otto committed
444
445
        <td><em class="muted">none</em></td>
        <td>Add to any parent to clear floats within</td>
Mark Otto's avatar
Mark Otto committed
446
      </tr>
Mark Otto's avatar
Mark Otto committed
447
448
449
450
451
      <tr>
        <td><code>.tab-focus()</code></td>
        <td><em class="muted">none</em></td>
        <td>Apply the Webkit focus style and round Firefox outline</td>
      </tr>
Mark Otto's avatar
Mark Otto committed
452
453
      <tr>
        <td><code>.center-block()</code></td>
Mark Otto's avatar
Mark Otto committed
454
455
        <td><em class="muted">none</em></td>
        <td>Auto center a block-level element using <code>margin: auto</code></td>
Mark Otto's avatar
Mark Otto committed
456
457
458
      </tr>
      <tr>
        <td><code>.ie7-inline-block()</code></td>
Mark Otto's avatar
Mark Otto committed
459
460
        <td><em class="muted">none</em></td>
        <td>Use in addition to regular <code>display: inline-block</code> to get IE7 support</td>
Mark Otto's avatar
Mark Otto committed
461
462
463
      </tr>
      <tr>
        <td><code>.size()</code></td>
Mark Otto's avatar
Mark Otto committed
464
465
        <td><code>@height: 5px, @width: 5px</code></td>
        <td>Quickly set the height and width on one line</td>
Mark Otto's avatar
Mark Otto committed
466
467
468
      </tr>
      <tr>
        <td><code>.square()</code></td>
Mark Otto's avatar
Mark Otto committed
469
470
        <td><code>@size: 5px</code></td>
        <td>Builds on <code>.size()</code> to set the width and height as same value</td>
Mark Otto's avatar
Mark Otto committed
471
472
473
      </tr>
      <tr>
        <td><code>.opacity()</code></td>
Mark Otto's avatar
Mark Otto committed
474
475
        <td><code>@opacity: 100</code></td>
        <td>Set, in whole numbers, the opacity percentage (e.g., "50" or "75")</td>
Mark Otto's avatar
Mark Otto committed
476
477
478
479
480
481
482
483
      </tr>
    </tbody>
  </table>
  <h3>Forms</h3>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        <th class="span4">Mixin</th>
Mark Otto's avatar
Mark Otto committed
484
        <th>Parameters</th>
Mark Otto's avatar
Mark Otto committed
485
486
487
488
489
490
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>.placeholder()</code></td>
Mark Otto's avatar
Mark Otto committed
491
492
        <td><code>@color: @placeholderText</code></td>
        <td>Set the <code>placeholder</code> text color for inputs</td>
Mark Otto's avatar
Mark Otto committed
493
494
495
496
497
498
499
500
      </tr>
    </tbody>
  </table>
  <h3>Typography</h3>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        <th class="span4">Mixin</th>
Mark Otto's avatar
Mark Otto committed
501
        <th>Parameters</th>
Mark Otto's avatar
Mark Otto committed
502
503
504
505
506
507
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>#font > #family > .serif()</code></td>
508
509
        <td><em class="muted">none</em></td>
        <td>Make an element use a serif font stack</td>
Mark Otto's avatar
Mark Otto committed
510
511
512
      </tr>
      <tr>
        <td><code>#font > #family > .sans-serif()</code></td>
513
514
        <td><em class="muted">none</em></td>
        <td>Make an element use a sans-serif font stack</td>
Mark Otto's avatar
Mark Otto committed
515
516
517
      </tr>
      <tr>
        <td><code>#font > #family > .monospace()</code></td>
518
519
        <td><em class="muted">none</em></td>
        <td>Make an element use a monospace font stack</td>
Mark Otto's avatar
Mark Otto committed
520
521
522
      </tr>
      <tr>
        <td><code>#font > .shorthand()</code></td>
523
524
        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
        <td>Easily set font size, weight, and leading</td>
Mark Otto's avatar
Mark Otto committed
525
526
527
      </tr>
      <tr>
        <td><code>#font > .serif()</code></td>
528
529
        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
        <td>Set font family to serif, and control size, weight, and leading</td>
Mark Otto's avatar
Mark Otto committed
530
531
532
      </tr>
      <tr>
        <td><code>#font > .sans-serif()</code></td>
533
534
        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
        <td>Set font family to sans-serif, and control size, weight, and leading</td>
Mark Otto's avatar
Mark Otto committed
535
536
537
      </tr>
      <tr>
        <td><code>#font > .monospace()</code></td>
538
539
        <td><code>@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight</code></td>
        <td>Set font family to monospace, and control size, weight, and leading</td>
Mark Otto's avatar
Mark Otto committed
540
541
542
543
544
545
546
547
      </tr>
    </tbody>
  </table>
  <h3>Grid system</h3>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        <th class="span4">Mixin</th>
Mark Otto's avatar
Mark Otto committed
548
        <th>Parameters</th>
Mark Otto's avatar
Mark Otto committed
549
550
551
552
553
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
554
555
556
        <td><code>.container-fixed()</code></td>
        <td><em class="muted">none</em></td>
        <td>Provide a fixed-width (set with <code>@siteWidth</code>) container for holding your content</td>
Mark Otto's avatar
Mark Otto committed
557
558
559
      </tr>
      <tr>
        <td><code>.columns()</code></td>
560
561
        <td><code>@columns: 1</code></td>
        <td>Build a grid column that spans any number of columns (defaults to 1 column)</td>
Mark Otto's avatar
Mark Otto committed
562
563
564
      </tr>
      <tr>
        <td><code>.offset()</code></td>
565
566
        <td><code>@columns: 1</code></td>
        <td>Offset a grid column with left margin that spans any number of columns</td>
Mark Otto's avatar
Mark Otto committed
567
568
569
      </tr>
      <tr>
        <td><code>.gridColumn()</code></td>
570
571
        <td><em class="muted">none</em></td>
        <td>Make an element float like a grid column</td>
Mark Otto's avatar
Mark Otto committed
572
573
574
575
576
577
578
      </tr>
    </tbody>
  </table>
  <h3>CSS3 properties</h3>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
579
        <th class="span3">Mixin</th>
Mark Otto's avatar
Mark Otto committed
580
        <th>Parameters</th>
Mark Otto's avatar
Mark Otto committed
581
582
583
584
585
586
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>.border-radius()</code></td>
587
588
        <td><code>@radius: 5px</code></td>
        <td>Round the corners of an element. Can be a single value or four space-separated values</td>
Mark Otto's avatar
Mark Otto committed
589
590
591
      </tr>
      <tr>
        <td><code>.box-shadow()</code></td>
592
593
        <td><code>@shadow: 0 1px 3px rgba(0,0,0,.25)</code></td>
        <td>Add a drop shadow to an element</td>
Mark Otto's avatar
Mark Otto committed
594
595
596
      </tr>
      <tr>
        <td><code>.transition()</code></td>
597
598
        <td><code>@transition</code></td>
        <td>Add CSS3 transition effect (e.g., <code>all .2s linear</code>)</td>
Mark Otto's avatar
Mark Otto committed
599
600
601
      </tr>
      <tr>
        <td><code>.rotate()</code></td>
602
603
        <td><code>@degrees</code></td>
        <td>Rotate an element <em>n</em> degrees</td>
Mark Otto's avatar
Mark Otto committed
604
605
606
      </tr>
      <tr>
        <td><code>.scale()</code></td>
607
608
        <td><code>@ratio</code></td>
        <td>Scale an element to <em>n</em> times it's original size</td>
Mark Otto's avatar
Mark Otto committed
609
610
611
      </tr>
      <tr>
        <td><code>.translate()</code></td>
612
613
        <td><code>@x: 0, @y: 0</code></td>
        <td>Move an element on the x and y planes</td>
Mark Otto's avatar
Mark Otto committed
614
615
616
      </tr>
      <tr>
        <td><code>.background-clip()</code></td>
617
618
        <td><code>@clip</code></td>
        <td>Crop the backgroud of an element (useful for <code>border-radius</code>)</td>
Mark Otto's avatar
Mark Otto committed
619
620
621
      </tr>
      <tr>
        <td><code>.background-size()</code></td>
622
623
        <td><code>@size</code></td>
        <td>Control the size of background images via CSS3</td>
Mark Otto's avatar
Mark Otto committed
624
625
626
      </tr>
      <tr>
        <td><code>.box-sizing()</code></td>
627
628
        <td><code>@boxmodel</code></td>
        <td>Change the box model for an element (e.g., <code>border-box</code> for a full-width <code>input</code>)</td>
Mark Otto's avatar
Mark Otto committed
629
630
631
      </tr>
      <tr>
        <td><code>.user-select()</code></td>
632
633
        <td><code>@select</code></td>
        <td>Control cursor selection of text on a page</td>
Mark Otto's avatar
Mark Otto committed
634
635
636
      </tr>
      <tr>
        <td><code>.resizable()</code></td>
637
638
        <td><code>@direction: both</code></td>
        <td>Make any element resizable on the right and bottom</td>
Mark Otto's avatar
Mark Otto committed
639
640
641
      </tr>
      <tr>
        <td><code>.content-columns()</code></td>
642
643
        <td><code>@columnCount, @columnGap: @gridColumnGutter</code></td>
        <td>Make the content of any element use CSS3 columns</td>
Mark Otto's avatar
Mark Otto committed
644
645
646
647
648
649
650
651
      </tr>
    </tbody>
  </table>
  <h3>Backgrounds and gradients</h3>
  <table class="table table-bordered table-striped">
    <thead>
      <tr>
        <th class="span4">Mixin</th>
Mark Otto's avatar
Mark Otto committed
652
        <th>Parameters</th>
Mark Otto's avatar
Mark Otto committed
653
654
655
656
657
658
        <th>Usage</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><code>.#translucent > .background()</code></td>
659
660
        <td><code>@color: @white, @alpha: 1</code></td>
        <td>Give an element a translucent background color</td>
Mark Otto's avatar
Mark Otto committed
661
662
663
      </tr>
      <tr>
        <td><code>.#translucent > .border()</code></td>
664
665
        <td><code>@color: @white, @alpha: 1</code></td>
        <td>Give an element a translucent border color</td>
Mark Otto's avatar
Mark Otto committed
666
667
668
      </tr>
      <tr>
        <td><code>.#gradient > .vertical()</code></td>
669
670
        <td><code>@startColor, @endColor</code></td>
        <td>Create a cross-browser vertical background gradient</td>
Mark Otto's avatar
Mark Otto committed
671
672
673
      </tr>
      <tr>
        <td><code>.#gradient > .horizontal()</code></td>
674
675
        <td><code>@startColor, @endColor</code></td>
        <td>Create a cross-browser horizontal background gradient</td>
Mark Otto's avatar
Mark Otto committed
676
677
678
      </tr>
      <tr>
        <td><code>.#gradient > .directional()</code></td>
679
680
        <td><code>@startColor, @endColor, @deg</code></td>
        <td>Create a cross-browser directional background gradient</td>
Mark Otto's avatar
Mark Otto committed
681
682
683
      </tr>
      <tr>
        <td><code>.#gradient > .vertical-three-colors()</code></td>
684
685
        <td><code>@startColor, @midColor, @colorStop, @endColor</code></td>
        <td>Create a cross-browser three-color background gradient</td>
Mark Otto's avatar
Mark Otto committed
686
687
688
      </tr>
      <tr>
        <td><code>.#gradient > .radial()</code></td>
689
690
        <td><code>@innerColor, @outerColor</code></td>
        <td>Create a cross-browser radial background gradient</td>
Mark Otto's avatar
Mark Otto committed
691
692
693
      </tr>
      <tr>
        <td><code>.#gradient > .striped()</code></td>
694
695
        <td><code>@color, @angle</code></td>
        <td>Create a cross-browser striped background gradient</td>
Mark Otto's avatar
Mark Otto committed
696
697
698
      </tr>
      <tr>
        <td><code>.#gradientBar()</code></td>
699
700
        <td><code>@primaryColor, @secondaryColor</code></td>
        <td>Used for buttons to assign a gradient and slightly darker border</td>
Mark Otto's avatar
Mark Otto committed
701
702
703
704
      </tr>
    </tbody>
  </table>
</section>
705
706


707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734

<!-- COMPILING LESS AND BOOTSTRAP
================================================== -->
<section id="compiling">
  <div class="page-header">
    <h1>Compiling Bootstrap with LESS</h1>
  </div>
  <div class="alert alert-info">
    <strong>Note:</strong> If you're submitting a pull request to GitHub with modified CSS, you <strong>must</strong> recompile the CSS via any of these methods.
  </div>
  <h2>Tools for compiling</h2>
  <div class="row">
    <div class="span4">
      <h3>Node with makefile</h3>
      <p>Install the LESS command line compiler with npm by running the following command:</p>
      <pre>$ npm install less</pre>
      <p>Once installed just run <code>make</code> from the root of your bootstrap directory and you're all set.</p>
      <p>Additionally, if you have <a href="https://github.com/mynyml/watchr">watchr</a> installed, you may run <code>make watch</code> to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).</p>
    </div><!-- /span4 -->
    <div class="span4">
      <h3>Command line</h3>
      <p>Install the LESS command line tool via Node and run the following command:</p>
        <pre>$ lessc ./lib/bootstrap.less > bootstrap.css</pre>
      <p>Be sure to include <code>--compress</code> in that command if you're trying to save some bytes!</p>
    </div><!-- /span4 -->
    <div class="span4">
      <h3>Javascript</h3>
      <p><a href="http://lesscss.org/">Download the latest Less.js</a> and include the path to it (and Bootstrap) in the <code>&lt;head&gt;</code>.</p>
735
736
737
738
<pre class="prettyprint">
&lt;link rel="stylesheet/less" href="/path/to/bootstrap.less"&gt;
&lt;script src="/path/to/less.js"&gt;&lt;/script&gt;
</pre>
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
      <p>To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.</p>
    </div><!-- /span4 -->
  </div><!-- /row -->
  <div class="row">
    <div class="span4">
      <h3>Unofficial Mac app</h3>
      <p><a href="http://incident57.com/less/">The unofficial Mac app</a> watches directories of .less files and compiles the code to local files after every save of a watched .less file.</p>
      <p>If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.</p>
    </div><!-- /span4 -->
    <div class="span4">
      <h3>More Mac apps</h3>
      <h4><a href="http://crunchapp.net/" target="_blank">Crunch</a></h4>
      <p>Crunch is a great looking LESS editor and compiler built on Adobe Air.</p>
      <h4><a href="http://incident57.com/codekit/" target="_blank">CodeKit</a></h4>
      <p>Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.</p>
      <h4><a href="http://wearekiss.com/simpless" target="_blank">Simpless</a></h4>
      <p>Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the <a href="https://github.com/Paratron/SimpLESS" target="_blank">source code is on GitHub</a>.</p>
    </div><!-- /span4 -->
  </div><!-- /row -->
758
</section>
759

760

Jacob Thornton's avatar
Jacob Thornton committed
761
     <!-- Footer
762
763
764
      ================================================== -->
      <footer class="footer">
        <p class="pull-right"><a href="#">Back to top</a></p>
Mark Otto's avatar
Mark Otto committed
765
766
767
        <p>Designed and built with all the love in the world <a href="http://twitter.com/twitter" target="_blank">@twitter</a> by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
        <p>Code licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>. Documentation licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
        <p>Icons from <a href="http://glyphicons.com">Glyphicons Free</a>, licensed under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
768
      </footer>
769

770
771
    </div><!-- /container -->

772

773
774
775

    <!-- Le javascript
    ================================================== -->
776
    <!-- Placed at the end of the document so the pages load faster -->
777
    <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
778
    <script src="../js/tests/vendor/jquery.js"></script>
779
    <script src="assets/js/google-code-prettify/prettify.js"></script>
780
781
782
    <script src="../js/bootstrap-transition.js"></script>
    <script src="../js/bootstrap-alert.js"></script>
    <script src="../js/bootstrap-modal.js"></script>
783
    <script src="../js/bootstrap-dropdown.js"></script>
784
785
786
787
788
789
790
791
792
    <script src="../js/bootstrap-scrollspy.js"></script>
    <script src="../js/bootstrap-tab.js"></script>
    <script src="../js/bootstrap-tooltip.js"></script>
    <script src="../js/bootstrap-popover.js"></script>
    <script src="../js/bootstrap-button.js"></script>
    <script src="../js/bootstrap-collapse.js"></script>
    <script src="../js/bootstrap-carousel.js"></script>
    <script src="../js/bootstrap-typeahead.js"></script>
    <script src="assets/js/application.js"></script>
793
794
  </body>
</html>