From 648c4689273647c321dd6e3979d910282e9a9339 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Wed, 26 Oct 2011 23:11:56 -0700 Subject: [PATCH] breaking down the main page into subpages for easier, more comprehensive documentation --- docs/assets/css/docs.css | 11 +- docs/base-css.html | 885 +++++++++++++++ docs/components.html | 705 ++++++++++++ docs/index.html | 2185 ++------------------------------------ docs/javascript.html | 118 +- docs/less.html | 242 +++++ docs/scaffolding.html | 383 +++++++ lib/mixins.less | 7 + 8 files changed, 2427 insertions(+), 2109 deletions(-) create mode 100644 docs/base-css.html create mode 100644 docs/components.html create mode 100644 docs/less.html create mode 100644 docs/scaffolding.html diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 59c64e4a7b..8ed81e713a 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -14,9 +14,6 @@ body { background-image: url(../img/grid-18px-masked.png); background-repeat: repeat-x; } -section { - padding-top: 60px; -} /* Tweak topbar brand link to be super sleek -------------------------------------------------- */ @@ -40,7 +37,7 @@ body > .navbar-fixed .brand:hover { } .jumbotron h1 { margin-right: 40%; - margin-bottom: 10px; + margin-bottom: 9px; font-size: 90px; letter-spacing: -1px; line-height: 1; @@ -100,15 +97,15 @@ body > .navbar-fixed .brand:hover { ------------------------- */ /* supporting docs pages */ .subhead { - padding-bottom: 18px; - border-bottom: 3px solid #eee; + padding-bottom: 14px; + border-bottom: 3px solid #e5e5e5; } .subhead h1, .subhead p { margin-right: 0; } .subhead h1 { - font-size: 40px; + font-size: 45px; } diff --git a/docs/base-css.html b/docs/base-css.html new file mode 100644 index 0000000000..e3b3782c0a --- /dev/null +++ b/docs/base-css.html @@ -0,0 +1,885 @@ + + + + + Bootstrap, from Twitter + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+

Base CSS

+

The core typography, form, and table styles of Bootstrap

+
+ + + +
+ + +

Headings & body copy

+ + +
+
+

Typographic scale

+

The entire typographic grid is based on two Less variables in our preboot.less file: @baseFontSize and @baseLineHeight. The first is the base font-size used throughout and the second is the base line-height.

+

We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.

+
+
+

Example body text

+

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.

+

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.

+
+
+
+

h1. Heading 1

+

h2. Heading 2

+

h3. Heading 3

+

h4. Heading 4

+
h5. Heading 5
+
h6. Heading 6
+
+
+
+ + +

Emphasis, address, and abbreviation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementDescriptionUsage
+ <strong> + + For emphasizing a snippet of text with important + + None +
+ <em> + + For emphasizing a snippet of text with stress + + None +
+ <abbr> + + Wraps abbreviations and acronyms to show the expanded version on hover + + Include optional title for expanded text +
+ <address> + + For contact information for its nearest ancestor or the entire body of work + + Preserve formatting by ending all lines with <br> +
+ +
+
+

Using emphasis

+

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.

+

Note: Feel free to use <b> and <i> in HTML5, but their usage has changed a bit. <b> is meant to highlight words or phrases without conveying additional importance while <i> is mostly for voice, technical terms, etc.

+
+
+

Example addresses

+

Here are two examples of how the <address> tag can be used:

+
+ Twitter, Inc.
+ 795 Folsom Ave, Suite 600
+ San Francisco, CA 94107
+ P: (123) 456-7890 +
+
+ Full Name
+ first.last@gmail.com +
+
+
+

Example abbreviations

+

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.

+

HTML is the best thing since sliced bread.

+

An abbreviation of the word attribute is attr.

+
+
+ + + +

Blockquotes

+
+
+

To include a blockquote, wrap <blockquote> around <p> and <small> tags. Use the <small> element to cite your source and you'll get an em dash &mdash; before it.

+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

+ Someone famous +
+
+
+
+<blockquote>
+  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
+  <small>Dr. Julius Hibbert</small>
+</blockquote>
+
+
+
+ + +

Lists

+
+
+

Unordered <ul>

+
    +
  • Lorem ipsum dolor sit amet
  • +
  • Consectetur adipiscing elit
  • +
  • Integer molestie lorem at massa
  • +
  • Facilisis in pretium nisl aliquet
  • +
  • Nulla volutpat aliquam velit +
      +
    • Phasellus iaculis neque
    • +
    • Purus sodales ultricies
    • +
    • Vestibulum laoreet porttitor sem
    • +
    • Ac tristique libero volutpat at
    • +
    +
  • +
  • Faucibus porta lacus fringilla vel
  • +
  • Aenean sit amet erat nunc
  • +
  • Eget porttitor lorem
  • +
+
+
+

Unstyled <ul.unstyled>

+
    +
  • Lorem ipsum dolor sit amet
  • +
  • Consectetur adipiscing elit
  • +
  • Integer molestie lorem at massa
  • +
  • Facilisis in pretium nisl aliquet
  • +
  • Nulla volutpat aliquam velit +
      +
    • Phasellus iaculis neque
    • +
    • Purus sodales ultricies
    • +
    • Vestibulum laoreet porttitor sem
    • +
    • Ac tristique libero volutpat at
    • +
    +
  • +
  • Faucibus porta lacus fringilla vel
  • +
  • Aenean sit amet erat nunc
  • +
  • Eget porttitor lorem
  • +
+
+
+

Ordered <ol>

+
    +
  1. Lorem ipsum dolor sit amet
  2. +
  3. Consectetur adipiscing elit
  4. +
  5. Integer molestie lorem at massa
  6. +
  7. Facilisis in pretium nisl aliquet
  8. +
  9. Nulla volutpat aliquam velit
  10. +
  11. Faucibus porta lacus fringilla vel
  12. +
  13. Aenean sit amet erat nunc
  14. +
  15. Eget porttitor lorem
  16. +
+
+
+

Description <dl>

+
+
Description lists
+
A description list is perfect for defining terms.
+
Euismod
+
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
+
Donec id elit non mi porta gravida at eget metus.
+
Malesuada porta
+
Etiam porta sem malesuada magna mollis euismod.
+
+
+
+ + + + +

Code Inline and block

+ + + + + + + + + + + + + + + + + + + + + +
ElementResult
<code>In a line of text like this, your wrapped code will look like this <html> element.
<pre> +
<div>
+  <h1>Heading</h1>
+  <p>Something right here...</p>
+</div>
+

Note: Be sure to keep code within pre tags as close to the left as possible; it will render all tabs.

+
<pre class="prettyprint"> +

Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.

+
<div>
+  <h1>Heading</h1>
+  <p>Something right here...</p>
+</div>
+
<div>
+  <h1>Heading</h1>
+  <p>Something right here...</p>
+</div>
+

Download google-code-prettify and view the readme for how to use.

+
+ + +

Inline labels for special attention

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelsMarkup
+ Default + + <span class="label">Default</span> +
+ New + + <span class="label success">New</span> +
+ Warning + + <span class="label warning">Warning</span> +
+ Important + + <span class="label important">Important</span> +
+ Notice + + <span class="label notice">Notice</span> +
+ +
+ + + + +
+ + +

Table markup

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TagDescription
+ <table> + + Wrapping element for displaying data in a tabular format +
+ <thead> + + Container element for table header rows (<tr>) to label table columns +
+ <tbody> + + Container element for table rows (<tr>) in the body of the table +
+ <tr> + + Container element for a set of table cells (<td> or <th>) that appears on a single row +
+ <td> + + Default table cell +
+ <th> + + Special table cell for column (or row, depending on scope and placement) labels
+ Must be used within a <thead> +
+ <caption> + + Description or summary of what the table holds, especially useful for screen readers +
+
+
+
+<table>
+  <thead>
+    <tr>
+      <th>...</th>
+      <th>...</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>...</td>
+      <td>...</td>
+    </tr>
+  </tbody>
+</table>
+
+
+
+ +

Example tables

+

1. Default table styles

+

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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameLanguage
1SomeOneEnglish
2JoeSixpackEnglish
3StuDentCode
+
+<table>
+  ...
+</table>
+

2. Zebra-striped

+

Get a little fancy with your tables by adding zebra-striping—just add the .zebra-striped class.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameLanguage
1SomeOneEnglish
2JoeSixpackEnglish
3StuDentCode
+

Note: Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.

+
+<table class="zebra-striped">
+...
+</table>
+

3. Zebra-striped w/ TableSorter.js

+

Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via jQuery and the Tablesorter plugin. Click any column’s header to change the sort.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameLanguage
1YourOneEnglish
2JoeSixpackEnglish
3StuDentCode
+
+<script src="js/jquery/jquery.tablesorter.min.js"></script>
+<script >
+  $(function() {
+    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
+  });
+</script>
+<table class="zebra-striped">
+  ...
+</table>
+ +
+ + + + +
+ +
+
+

Four types of forms

+

With 2.0, we now have four types of forms to choose from:

+
    +
  • Search form for a super-rounded input and optional button
  • +
  • Inline form for a series of elements on one line
  • +
  • Horizontal form for left-aligned labels
  • +
  • Vertical form for stacked labels and inputs
  • +
+
+
+

+
+
+
+
+

Search form

+
+
+
+ +
+
+
+
+
+

Inline form

+
+
+
+
+

Some directional text

+

And maybe some kind of optional supporting text right here.

+ + + + +
+
+
+
+
+
+

Horizontal form

+
+
+
+ Example form +
+ +
+ +

Help text here. Be sure to fill this out like so, or else!

+
+
+
+ +
+ +
+
+
+ +
+ +
+
+ Example form +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + + + +
+

Note: Labels surround all the options for much larger click areas and a more usable form.

+
+
+
+ +
+
+ + +
+

Note: Labels surround all the options for much larger click areas and a more usable form.

+
+
+
+ + +
+
+
+
+
+
+

Vertical form

+
+
+
+ Example form +
+ +
+ +

Be sure to fill this out like so, or else!

+
+
+
+ +
+ +
+
+
+ +
+
+ + + +
+
+
+
+ + +
+
+
+
+ +
+
+

Buttons

+

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.

+

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 .primary class, a light-blue .info class, a green .success class, and a red .danger class.

+
+
+

Example buttons

+

Button styles can be applied to anything with the .btn applied. Typically you’ll want to apply these to only <a>, <button>, and select <input> elements. Here’s how it looks:

+
+      +
+

Alternate sizes

+

Fancy larger or smaller buttons? Have at it!

+ + +

Disabled state

+

For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s .disabled for links and :disabled for <button> elements.

+

Links

+ +

Buttons

+
+   +
+
+
+ +
+
+

Button groups

+
+
+

Example

+
+
+ Left + Middle + Right +
+
+
+
+
+ 1 + 2 + 3 + 4 + 5 +
+
+ 6 + 7 + 8 +
+
+ 9 +
+
+ 10 +
+
+
+
+
+ +
+ + + + +
+ + + + + + + + + + + + + + diff --git a/docs/components.html b/docs/components.html new file mode 100644 index 0000000000..0e3f0a223f --- /dev/null +++ b/docs/components.html @@ -0,0 +1,705 @@ + + + + + Bootstrap, from Twitter + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+

Components

+

Reusable patterns for navigation, alerts, popovers, and much more

+
+ + + +
+ + +
+
+

Media grid

+

Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.

+
+
+

Example thumbnails

+

Thumbnails in the .media-grid can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the .span2, .span4, and .span6 column sizes.

+

Large

+ +

Medium

+ +

Small

+ +

Coding them

+

Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.

+
+<ul class="media-grid">
+  <li>
+    <a href="#">
+      <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+    </a>
+  </li>
+  <li>
+    <a href="#">
+      <img class="thumbnail" src="http://placehold.it/330x230" alt="">
+    </a>
+  </li>
+</ul>
+
+
+
+
+ + + + + + + + + +
+ + +
+
+

Basic alerts

+

.alert-message

+

One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.

+

Get the javascript »

+
+
+
+ × +

Holy guacamole! Best check yo self, you’re not looking too good.

+
+
+ × +

Oh snap! Change this and that and try again.

+
+
+ × +

Well done! You successfully read this alert message.

+
+
+ × +

Heads up! This is an alert that needs your attention, but it’s not a huge priority just yet.

+
+ +

Example code

+
+<div class="alert-message warning">
+  <a class="close" href="#">×</a>
+  <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
+</div>
+
+
+
+ +
+
+

Block messages

+

.alert-message.block-message

+

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.

+

Get the javascript »

+
+
+
+ × +

Holy guacamole! This is a warning! 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.

+ +
+
+ × +

Oh snap! You got an error! Change this and that and try again.

+
    +
  • Duis mollis est non commodo luctus
  • +
  • Nisi erat porttitor ligula
  • +
  • Eget lacinia odio sem nec elit
  • +
+ +
+
+ × +

Well done! You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.

+ +
+
+ × +

Heads up! This is an alert that needs your attention, but it’s not a huge priority just yet.

+ +
+ +

Example code

+
+<div class="alert-message block-message warning">
+  <a class="close" href="#">×</a>
+  <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>
+  <div class="alert-actions">
+    <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
+  </div>
+</div>
+
+
+
+
+ + + +
+ +
+
+

Modals

+

Modals—dialogs or lightboxes—are great for contextual actions in situations where it’s important that the background context be maintained.

+

Get the javascript »

+
+
+
+ + +
+
+
+ + +
+
+

Tooltips

+

Twipsies are super useful for aiding a confused user and pointing them in the right direction.

+

Get the javascript »

+
+
+
+
+

+Lorem ipsum dolar sit amet illo error ipsum 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. Voluptasdicta 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 sed dicta quae accusantium fugit voluptas nemo voluptas voluptatem rem quae aut veritatis quasi quae. +

+
+
+
+
+ + +
+
+

Popovers

+

Use popovers to provide subtextual information to a page without affecting layout.

+

Get the javascript »

+
+
+
+
+
+
+
+

Popover Title

+
+

Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

+
+
+
+ +
+
+
+
+
+ + + + +
+ + + + + + + + + + + + + + diff --git a/docs/index.html b/docs/index.html index cf3b8b8052..64947dc15e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -32,6 +32,14 @@
Bootstrap
-
+
-
- -
-
-

Bootstrap,
from Twitter

-

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.

-

- Download on GitHub - Currently v2.0.0 -

-
-

Feature highlights

-
    -
  • × Built on LESS
  • -
  • × Complete styleguide docs
  • -
  • × Fully responsive design
  • -
  • × Small footprint (7kb gzipped)
  • -
  • × Support for IE7 and up
  • -
  • × Custom jQuery plugins
  • -
  • × Dozens of components
  • -
-
-
-
+
- - - - - - - -
-
-
-

Built for and by nerds

-

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.

-

Read more on dev.twitter.com ›

-
-
-

Cross-everything

-

Bootstrap is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox.

- Tested and supported in Chrome, Safari, Internet Explorer, and Firefox -
    -
  • Latest Safari
  • -
  • Latest Google Chrome
  • -
  • Firefox 4+
  • -
  • Internet Explorer 7+
  • -
  • Opera 11
  • -
-
-
-

What's included

-

Bootstrap comes complete with compiled CSS, uncompiled, and example templates.

-
    -
  • New in 1.3 Javascript plugins
  • -
  • All original .less files
  • -
  • Fully compiled and minified CSS
  • -
  • Complete styleguide documentation
  • -
  • Three example pages with different layouts
  • -
-
-
-
- -

Quick-start examples

-

Need some quick templates? Check out these basic examples we've put together:

-
    -
  • - Simple three-column layout with hero unit -
  • -
  • - Fluid layout with static sidebar -
  • -
  • - Simple hanging container for apps -
  • -
- -
- - - -
- - -

Default 940px grid

-
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
1
-
-
-
4
-
4
-
4
-
-
-
4
-
8
-
-
-
6
-
6
-
-
-
12
-
- -
-
-

The default grid system provided as part of Bootstrap is a 940px-wide, 12-column grid.

-

It also has three responsive variations for various devices and resolutions: phone, tablet, and large widescreen desktops.

-
-
-
-<div class="row">
-  <div class="span4">...</div>
-  <div class="span8">...</div>
-</div>
-
-
-
-

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.

-
-
- -

Offsetting columns

-
-
4
-
4 offset 4
-
-
-
3 offset 3
-
3 offset 3
-
-
-
8 offset 4
-
- -
- -

Nesting columns

-
-
-

With the static (non-fluid) grid system in Bootstrap, nesting is easy. To nest your content, just add a new .row and set of .span* columns within an existing .span* column.

-

Example

-
-
- Level 1 of column -
-
- Level 2 -
-
- Level 2 + +
+
+

Bootstrap,
from Twitter

+

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.

+

+ Download on GitHub + Currently v2.0.0 +

+
+

Feature highlights

+
    +
  • × Built on LESS
  • +
  • × Complete styleguide docs
  • +
  • × Fully responsive design
  • +
  • × Small footprint (7kb gzipped)
  • +
  • × Support for IE7 and up
  • +
  • × Custom jQuery plugins
  • +
  • × Dozens of components
  • +
-
-
-
-
-
-<div class="row">
-  <div class="span12">
-    Level 1 of column
-    <div class="row">
-      <div class="span6">Level 2</div>
-      <div class="span6">Level 2</div>
-    </div>
-  </div>
-</div>
-
-
-
+ -

Grid customization

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VariableDefault valueDescription
@gridColumns16The number of columns within the grid
@gridColumnWidth40pxThe width of each column within the grid
@gridGutterWidth20pxThe negative space between each column
@siteWidthComputed sum of all columns and guttersWe use some basic match to count the number of columns and gutters and set the width of the .fixed-container() mixin.
-
-
-

Variables in LESS

-

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.

-
-
-

How to customize

-

Modifying the grid means changing the three @grid* variables and recompiling Bootstrap. Change the grids in the preboot.less file and use one of the four ways documented to recompile.

-
-
-

Staying responsive

-

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.

-
-
- -
- - - - -
- - -
-
-

Fixed layout

-

The default and simple 940px-wide, centered layout for just about any website or page provided by a single <div.container>.

-
-
-
-
-<body>
-  <div class="container">
-    ...
-  </div>
-</body>
-
-
-
-

Fluid layout

-

An alternative, flexible fluid page structure with min- and max-widths and a left-hand sidebar. Great for apps and docs.

-
-
-
-
-
-<body>
-  <div class="container-fluid">
-    <div class="sidebar">
-      ...
-    </div>
-    <div class="content">
-      ...
-    </div>
-  </div>
-</body>
-
-
-
-
- - - - - -
- - -
-
- Responsive devices -
-
-

Supported devices

-

Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LabelLayout widthColumn widthGutter width
Smartphones480px and belowFluid columns, no fixed widths
Portrait tablets480px to 768pxFluid columns, no fixed widths
Landscape tablets768px to 940px44px20px
Default940px and up60px20px
Large display1210px and up70px30px
- -

What they do

-

Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.

-
    -
  • Modify the width of column in our grid
  • -
  • Stack elements instead of float wherever necessary
  • -
  • Resize headings and text to be more appropriate for devices
  • -
-
-
- -
- - -

Using the media queries

-
-
-

Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:

-
    -
  1. Use the compiled responsive version, bootstrap.reponsive.css
  2. -
  3. Add @import "responsive.less" and recompile Bootstrap
  4. -
  5. Compile responsive.less as a separate file and include that
  6. -
-

Why not just include it? Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.

-
-
-
-  // Landscape phones and down
-  @media (max-width: 480px) { ... }
-
-  // Landscape phone to portrait tablet
-  @media (min-width: 480px) and (max-width: 768px) { ... }
-
-  // Portrait tablet to landscape and desktop
-  @media (min-width: 768px) and (max-width: 940px) { ... }
-
-  // Large desktop
-  @media (min-width: 1210px) { .. }
-
-
-
- -
- - - - - -
- - -

Headings & body copy

- - -
-
-

Typographic scale

-

The entire typographic grid is based on two Less variables in our preboot.less file: @baseFontSize and @baseLineHeight. The first is the base font-size used throughout and the second is the base line-height.

-

We use those variables, and some math, to create the margins, paddings, and line-heights of all our type and more.

-
-
-

Example body text

-

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.

-

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.

-
-
-
-

h1. Heading 1

-

h2. Heading 2

-

h3. Heading 3

-

h4. Heading 4

-
h5. Heading 5
-
h6. Heading 6
-
-
-
- - -

Emphasis, address, and abbreviation

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ElementDescriptionUsage
- <strong> - - For emphasizing a snippet of text with important - - None -
- <em> - - For emphasizing a snippet of text with stress - - None -
- <abbr> - - Wraps abbreviations and acronyms to show the expanded version on hover - - Include optional title for expanded text -
- <address> - - For contact information for its nearest ancestor or the entire body of work - - Preserve formatting by ending all lines with <br> -
- -
-
-

Using emphasis

-

Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Maecenas faucibus mollis interdum. Nulla vitae elit libero, a pharetra augue.

-

Note: Feel free to use <b> and <i> in HTML5, but their usage has changed a bit. <b> is meant to highlight words or phrases without conveying additional importance while <i> is mostly for voice, technical terms, etc.

-
-
-

Example addresses

-

Here are two examples of how the <address> tag can be used:

-
- Twitter, Inc.
- 795 Folsom Ave, Suite 600
- San Francisco, CA 94107
- P: (123) 456-7890 -
-
- Full Name
- first.last@gmail.com -
-
-
-

Example abbreviations

-

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.

-

HTML is the best thing since sliced bread.

-

An abbreviation of the word attribute is attr.

-
-
- - - -

Blockquotes

-
-
-

To include a blockquote, wrap <blockquote> around <p> and <small> tags. Use the <small> element to cite your source and you'll get an em dash &mdash; before it.

-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

- Someone famous -
-
-
-
-<blockquote>
-  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p>
-  <small>Dr. Julius Hibbert</small>
-</blockquote>
-
-
-
- - -

Lists

-
-
-

Unordered <ul>

-
    -
  • Lorem ipsum dolor sit amet
  • -
  • Consectetur adipiscing elit
  • -
  • Integer molestie lorem at massa
  • -
  • Facilisis in pretium nisl aliquet
  • -
  • Nulla volutpat aliquam velit -
      -
    • Phasellus iaculis neque
    • -
    • Purus sodales ultricies
    • -
    • Vestibulum laoreet porttitor sem
    • -
    • Ac tristique libero volutpat at
    • -
    -
  • -
  • Faucibus porta lacus fringilla vel
  • -
  • Aenean sit amet erat nunc
  • -
  • Eget porttitor lorem
  • -
-
-
-

Unstyled <ul.unstyled>

-
    -
  • Lorem ipsum dolor sit amet
  • -
  • Consectetur adipiscing elit
  • -
  • Integer molestie lorem at massa
  • -
  • Facilisis in pretium nisl aliquet
  • -
  • Nulla volutpat aliquam velit -
      -
    • Phasellus iaculis neque
    • -
    • Purus sodales ultricies
    • -
    • Vestibulum laoreet porttitor sem
    • -
    • Ac tristique libero volutpat at
    • -
    -
  • -
  • Faucibus porta lacus fringilla vel
  • -
  • Aenean sit amet erat nunc
  • -
  • Eget porttitor lorem
  • -
-
-
-

Ordered <ol>

-
    -
  1. Lorem ipsum dolor sit amet
  2. -
  3. Consectetur adipiscing elit
  4. -
  5. Integer molestie lorem at massa
  6. -
  7. Facilisis in pretium nisl aliquet
  8. -
  9. Nulla volutpat aliquam velit
  10. -
  11. Faucibus porta lacus fringilla vel
  12. -
  13. Aenean sit amet erat nunc
  14. -
  15. Eget porttitor lorem
  16. -
-
-
-

Description <dl>

-
-
Description lists
-
A description list is perfect for defining terms.
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
-
-
- - - - -

Code Inline and block

- - - - - - - - - - - - - - - - - - - - - -
ElementResult
<code>In a line of text like this, your wrapped code will look like this <html> element.
<pre> -
<div>
-  <h1>Heading</h1>
-  <p>Something right here...</p>
-</div>
-

Note: Be sure to keep code within pre tags as close to the left as possible; it will render all tabs.

-
<pre class="prettyprint"> -

Using the google-code-prettify library, you're blocks of code get a slightly different visual style and automatic syntax highlighting. You can also add an additional class to add line numbers.

-
<div>
-  <h1>Heading</h1>
-  <p>Something right here...</p>
-</div>
-
<div>
-  <h1>Heading</h1>
-  <p>Something right here...</p>
-</div>
-

Download google-code-prettify and view the readme for how to use.

-
- - -

Inline labels for special attention

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LabelsMarkup
- Default - - <span class="label">Default</span> -
- New - - <span class="label success">New</span> -
- Warning - - <span class="label warning">Warning</span> -
- Important - - <span class="label important">Important</span> -
- Notice - - <span class="label notice">Notice</span> -
- -
- - - - -
- - -

Table markup

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TagDescription
- <table> - - Wrapping element for displaying data in a tabular format -
- <thead> - - Container element for table header rows (<tr>) to label table columns -
- <tbody> - - Container element for table rows (<tr>) in the body of the table -
- <tr> - - Container element for a set of table cells (<td> or <th>) that appears on a single row -
- <td> - - Default table cell -
- <th> - - Special table cell for column (or row, depending on scope and placement) labels
- Must be used within a <thead> -
- <caption> - - Description or summary of what the table holds, especially useful for screen readers -
-
-
-
-<table>
-  <thead>
-    <tr>
-      <th>...</th>
-      <th>...</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>...</td>
-      <td>...</td>
-    </tr>
-  </tbody>
-</table>
-
-
-
- -

Example tables

-

1. Default table styles

-

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.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameLanguage
1SomeOneEnglish
2JoeSixpackEnglish
3StuDentCode
-
-<table>
-  ...
-</table>
-

2. Zebra-striped

-

Get a little fancy with your tables by adding zebra-striping—just add the .zebra-striped class.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameLanguage
1SomeOneEnglish
2JoeSixpackEnglish
3StuDentCode
-

Note: Zebra-striping is a progressive enhancement not available for older browsers like IE8 and below.

-
-<table class="zebra-striped">
-...
-</table>
-

3. Zebra-striped w/ TableSorter.js

-

Taking the previous example, we improve the usefulness of our tables by providing sorting functionality via jQuery and the Tablesorter plugin. Click any column’s header to change the sort.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameLanguage
1YourOneEnglish
2JoeSixpackEnglish
3StuDentCode
-
-<script src="js/jquery/jquery.tablesorter.min.js"></script>
-<script >
-  $(function() {
-    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
-  });
-</script>
-<table class="zebra-striped">
-  ...
-</table>
- -
- - - - -
- -
-
-

Four types of forms

-

With 2.0, we now have four types of forms to choose from:

-
    -
  • Search form for a super-rounded input and optional button
  • -
  • Inline form for a series of elements on one line
  • -
  • Horizontal form for left-aligned labels
  • -
  • Vertical form for stacked labels and inputs
  • -
-
-
-

-
-
-
-
-

Search form

-
-
-
- -
-
-
-
-
-

Inline form

-
-
-
-
-

Some directional text

-

And maybe some kind of optional supporting text right here.

- - - - -
-
-
-
-
-
-

Horizontal form

-
-
-
- Example form -
- -
- -

Help text here. Be sure to fill this out like so, or else!

-
-
-
- -
- -
-
-
- -
- -
-
- Example form -
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
-
- - - - -
-

Note: Labels surround all the options for much larger click areas and a more usable form.

-
-
-
- -
-
- - -
-

Note: Labels surround all the options for much larger click areas and a more usable form.

-
-
-
- - -
-
-
-
-
-
-

Vertical form

-
-
-
- Example form -
- -
- -

Be sure to fill this out like so, or else!

-
-
-
- -
- -
-
-
- -
-
- - - -
-
-
-
- - -
-
-
-
- -
-
-

Buttons

-

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.

-

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 .primary class, a light-blue .info class, a green .success class, and a red .danger class.

-
-
-

Example buttons

-

Button styles can be applied to anything with the .btn applied. Typically you’ll want to apply these to only <a>, <button>, and select <input> elements. Here’s how it looks:

-
-      -
-

Alternate sizes

-

Fancy larger or smaller buttons? Have at it!

- - -

Disabled state

-

For buttons that are not active or are disabled by the app for one reason or another, use the disabled state. That’s .disabled for links and :disabled for <button> elements.

-

Links

- -

Buttons

-
-   -
-
-
- -
-
-

Button groups

-
-
-

Example

-
-
- Left - Middle - Right -
-
-
-
-
- 1 - 2 - 3 - 4 - 5 -
-
- 6 - 7 - 8 -
-
- 9 -
-
- 10 -
-
-
-
-
- -
- - - - -
- - -
-
-

Media grid

-

Display thumbnails of varying sizes on pages with a low HTML footprint and minimal styles.

-
-
-

Example thumbnails

-

Thumbnails in the .media-grid can be any size, but they work best when mapped directly to the built-in Bootstrap grid system. Image widths like 90, 210, and 330 combine with a few pixels of padding to equal the .span2, .span4, and .span6 column sizes.

-

Large

- -

Medium

- -

Small

- -

Coding them

-

Media grids are easy to use and rather simple on the markup side. Their dimensions are purely based on the size of the images included.

-
-<ul class="media-grid">
-  <li>
-    <a href="#">
-      <img class="thumbnail" src="http://placehold.it/330x230" alt="">
-    </a>
-  </li>
-  <li>
-    <a href="#">
-      <img class="thumbnail" src="http://placehold.it/330x230" alt="">
-    </a>
-  </li>
-</ul>
-
-
-
-
- - - - - - - - - -
- - -
-
-

Basic alerts

-

.alert-message

-

One-line messages for highlighting the failure, possible failure, or success of an action. Particularly useful for forms.

-

Get the javascript »

-
-
-
- × -

Holy guacamole! Best check yo self, you’re not looking too good.

-
-
- × -

Oh snap! Change this and that and try again.

-
-
- × -

Well done! You successfully read this alert message.

-
-
- × -

Heads up! This is an alert that needs your attention, but it’s not a huge priority just yet.

-
- -

Example code

-
-<div class="alert-message warning">
-  <a class="close" href="#">×</a>
-  <p><strong>Holy guacamole!</strong> Best check yo self, you’re not looking too good.</p>
-</div>
-
-
-
- -
-
-

Block messages

-

.alert-message.block-message

-

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.

-

Get the javascript »

-
-
-
- × -

Holy guacamole! This is a warning! 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.

- -
-
- × -

Oh snap! You got an error! Change this and that and try again.

-
    -
  • Duis mollis est non commodo luctus
  • -
  • Nisi erat porttitor ligula
  • -
  • Eget lacinia odio sem nec elit
  • -
- -
-
- × -

Well done! You successfully read this alert message. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas faucibus mollis interdum.

- -
-
- × -

Heads up! This is an alert that needs your attention, but it’s not a huge priority just yet.

- -
- -

Example code

-
-<div class="alert-message block-message warning">
-  <a class="close" href="#">×</a>
-  <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>
-  <div class="alert-actions">
-    <a class="btn small" href="#">Take this action</a> <a class="btn small" href="#">Or do this</a>
-  </div>
-</div>
-
-
-
-
- - - -
- -
-
-

Modals

-

Modals—dialogs or lightboxes—are great for contextual actions in situations where it’s important that the background context be maintained.

-

Get the javascript »

-
-
-
- - -
-
-
- - -
-
-

Tooltips

-

Twipsies are super useful for aiding a confused user and pointing them in the right direction.

-

Get the javascript »

-
-
-
-
-

-Lorem ipsum dolar sit amet illo error ipsum 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. Voluptasdicta 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 sed dicta quae accusantium fugit voluptas nemo voluptas voluptatem rem quae aut veritatis quasi quae. -

-
-
-
-
- - -
-
-

Popovers

-

Use popovers to provide subtextual information to a page without affecting layout.

-

Get the javascript »

-
-
-
-
-
-
-
-

Popover Title

-
-

Etiam porta sem malesuada magna mollis euismod. Maecenas faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

-
-
-
- -
-
-
-
-
- - - - -
- -
-
-

Getting started

-

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!

-

View javascript docs »

-
-
-

What's included

-

Bring some of Bootstrap's primary components to life with new custom plugins that work with jQuery and Ender. We encourage you to extend and modify them to fit your specific development needs.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileDescription
bootstrap-modal.jsOur Modal plugin is a super slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.
bootstrap-alerts.jsThe alert plugin is a super tiny class for adding close functionality to alerts.
bootstrap-dropdown.jsThis plugin is for adding dropdown interaction to the bootstrap navbar or tabbed navigations.
bootstrap-scrollspy.jsThe ScrollSpy plugin is for adding an auto updating nav based on scroll position to the bootstrap navbar.
bootstrap-tabs.jsThis plugin adds quick, dynamic tab and pill functionality for cycling through local content.
bootstrap-twipsy.jsBased on the excellent jQuery.tipsy plugin written by Jason Frame; twipsy is an updated version, which doesn't rely on images, uses css3 for animations, and data-attributes for local title storage!
bootstrap-popover.jsThe popover plugin provides a simple interface for adding popovers to your application. It extends the boostrap-twipsy.js plugin, so be sure to grab that file as well when including popovers in your project!
-

Is javascript necessary?

-

Nope! Bootstrap is designed first and foremost to be a CSS library. This javascript provides a basic interactive layer on top of the included styles.

-

However, for those who do need javascript, we've provided the plugins above to help you understand how to integrate Bootstrap with javascript and to give you a quick, lightweight option for the basic functionality right away.

-

For more information and to see some live demos, please refer to our plugin documentation page.

-
-
- - - -
- -
-
-

Bootstrap was built with Preboot, an open-source pack of mixins and variables to be used in conjunction with Less, a CSS preprocessor for faster and easier web development.

-

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.

-
-
-

How to use it

-

Use this option to make full use of Bootstrap’s Less variables, mixins, and nesting in CSS via javascript in your browser.

-
-<link rel="stylesheet/less" href="less/bootstrap.less" media="all" />
-<script src="js/less-1.1.3.min.js"></script>
-

Not feeling the .js solution? Try the Less Mac app or use Node.js to compile when you deploy your code.

- -

What’s included

-

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.

-

Variables

-

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.

-
-// 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;
-
-// Baseline grid
-@basefont:          13px;
-@baseline:          18px;
-
- -

Commenting

-

Less also provides another style of commenting in addition to CSS’s normal /* ... */ syntax.

-
-// This is a comment
-/* This is also a comment */
-
- -

Mixins up the wazoo

-

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 box-shadow, cross-browser gradients, font stacks, and more. Below is a sample of the mixins that are included with Bootstrap.

-

Font stacks

-
-#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;
-  }
-  ...
-}
-
-

Gradients

-
-#gradient {
-  ...
-  .vertical (@startColor: #555, @endColor: #333) {
-    background-color: @endColor;
-    background-repeat: repeat-x;
-    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
-  }
-  ...
-}
-
- -

Operations

-

Get fancy and perform some math to generate flexible and powerful mixins like the one below.

-
-// Griditude
-@gridColumns:       16;
-@gridColumnWidth:   40px;
-@gridGutterWidth:   20px;
-@siteWidth:         (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
-
-// Make some columns
-.columns(@columnSpan: 1) {
-  width: (@gridColumnWidth * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1));
-}
-
- -

Compiling Less

-

After modifying the .less files in /lib/, you'll need to recompile them in order to regenerate the bootstrap-*.*.*.css and bootstrap-*.*.*.min.css files. If you're submitting a pull request to GitHub, you must always recompile.

-

Ways to compile

- - - - - - - - - - - - - - - - - - - - - - - - -
MethodSteps
Node with makefile -

Install the less command line compiler with npm by running the following command:

-
$ npm install lessc
-

Once installed just run make from the root of your bootstrap directory and you're all set.

-

Additionally, if you have watchr installed, you may run make watch to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).

-
Javascript -

Download the latest Less.js and include the path to it (and Bootstrap) in the head.

-
-<link rel="stylesheet/less" href="/path/to/bootstrap.less">
-<script src="/path/to/less.js"></script>
-
-

To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.

-
Command line -

If you already have the less command line tool installed, simply run the following command:

-
$ lessc ./lib/bootstrap.less > bootstrap.css
-

Be sure to include --compress in that command if you're trying to save some bytes!

-
Mac app -

The unofficial Mac app watches directories of .less files and compiles the code to local files after every save of a watched .less file.

-

If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.

-
-
-
- -
+
+ -
- + @@ -2182,6 +202,5 @@ Lorem ipsum dolar sit amet illo error ipsum verita - diff --git a/docs/javascript.html b/docs/javascript.html index 68a3d0cd46..c9ac7e21da 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -27,7 +27,24 @@ -