Bootstrap, from Twitter

jQuery Bootstrap

jQuery Bootstrap is not just another CSS framework. jQuery Bootstrap is a framework that will change the way you use CSS.

Hotlink the CSS

For the quickest and easiest start, just copy this snippet into your webpage.

Fork on GitHub

Download, fork, pull, file issues, and more with the jQuery Bootstrap repo on Github.

jQuery Bootstrap on GitHub »

What's jQuery Bootstrap?

jQuery Bootstrap combines the power of Twitter Bootstrap and the jQuery UI into a single CSS boilerplate with easy to learn consistent semantics, offering both highly atomic functionality and more advanced layout options with a minimal amount of code. With jQuery Bootstrap, you can keep your CSS both clean and readable and stick to the same consistent standards for all of your CSS code.

Browser support

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
  • Safari
  • Latest Google Chrome
  • Firefox 3.6+
  • Internet Explorer 6+
  • Opera

Quick-start examples

Need some quick templates? Here's our version of the Bootstrap templates:

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

Default grid

The default grid system provided as part of Bootstrap is a 940px wide 16-column grid. It’s a flavor of the popular 960 grid system, but without the additional margin/padding on the left and right sides.

Example grid markup

As shown here, a basic layout can be created with two "columns," each spanning a number of the 16 foundational columns we defined as part of our grid system. See the examples below for more variations.

<div class="row">
  <div class="span6">
    ...
  </div>
  <div class="span10">
    ...
  </div>
</div>
                        
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
1
4
4
4
4
1/3
1/3
1/3
1/3
2/3
4
6
6
8
8
5
11
16

Offsetting columns

4
8 offset 4
1/3 offset 2/3s
4 offset 4
4 offset 4
5 offset 3
5 offset 3
10 offset 6

Nesting columns

Nest your content if you must by creating a .row within an existing column.

Example of nested columns

Level 1 of column
Level 2
Level 2
<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>
                        

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>
                        

Headings & copy

A standard typographic hierarchy for structuring your webpages.

The entire typographic grid is based on two Less variables in our preboot.less file: @basefont and @baseline. 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.

h1. Heading 1

h2. Heading 2

h3. Heading 3

h4. Heading 4

h5. Heading 5
h6. Heading 6

Example paragraph

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.

Example heading Has sub-heading…

Misc. elements

Using emphasis, addresses, & abbreviations

<strong> <em> <address> <abbr>

When to use

Emphasis tags (<strong> and <em>) should be used to indicate additional importance or emphasis of a word or phrase relative to its surrounding copy. Use <strong> for importance and <em> for stress emphasis.

Emphasis in a paragraph

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: It's still okay to use <b> and <i> tags in HTML5 and they don't have to be styled bold and italic, respectively (although if there is a more semantic element, use it). <b> is meant to highlight words or phrases without conveying additional importance, while <i> is mostly for voice, technical terms, etc.

Addresses

The <address> element is used for contact information for its nearest ancestor, or the entire body of work. Here are two examples of how it could be used:

Twitter, Inc.
795 Folsom Ave, Suite 600
San Francisco, CA 94107
P: (123) 456-7890

Note: Each line in an <address> must end with a line-break (<br />) or be wrapped in a block-level tag (e.g., <p>) to properly structure the content.

Abbreviations

For abbreviations and acronyms, use the <abbr> tag (<acronym> is deprecated in HTML5). Put the shorthand form within the tag and set a title for the complete name.

Blockquotes

<blockquote> <p> <small>

How to quote

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.

Dr. Julius Hibbert
<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. Consectetur adipiscing elit
  3. Integer molestie lorem at massa
  4. Facilisis in pretium nisl aliquet
  5. Nulla volutpat aliquam velit
  6. Faucibus porta lacus fringilla vel
  7. Aenean sit amet erat nunc
  8. Eget porttitor lorem

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

<code> <pre>

Pimp your code in style with two simple tags. For even more awesomeness through javascript, drop in Google's code prettify library and you're set.

Presenting code

Code, blocks of or just snippets inline, can be displayed with style just by wrapping in the right tag. For blocks of code spanning multiple lines, use the <pre> element. For inline code, use the <code> element.

Element Result
<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, your blocks of code get a slightly different visual style and automatic syntax highlighting.

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

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

Inline labels

<span class="label">

Call attention to or flag any phrase in your body text.

Label anything

Ever needed one of those fancy New! or Important flags when writing code? Well, now you have them. Here's what's included by default:

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

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>
                        

Building tables

<table> <thead> <tbody> <tr> <th> <td> <colspan> <caption>

Tables are great—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.

Always wrap your column headers in a <thead> such that hierarchy is <thead> > <tr> > <th>.

Similar to the column headers, all your table’s body content should be wrapped in a <tbody> so your hierarchy is <tbody> > <tr> > <td>.

Example: 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 Name Last Name Language
1 Some One English
2 Joe Sixpack English
3 Stu Dent Code
<table>
  ...
</table>

Example: ui-table-striped

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

# First Name Last Name Language
1 Some One English
2 Joe Sixpack English
3 Stu Dent Code

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

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

Example: ui-table-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 Name
Last Name
Language
1 Your One English
2 Joe Sixpack English
3 Stu Dent Code
<script src="js/jquery/jquery.tablesorter.js"></script>
<script >
  $(function() {
    $("table#sortTableExample").tablesorter({ sortList: [[1,0]] });
  });
</script>
<table class="ui-table-striped">
  ...
</table>

Default styles

All forms are given default styles to present them in a readable and scalable way. Styles are provided for text inputs, select lists, textareas, radio buttons and checkboxes, and buttons.

Example form legend
Some Value Here
Small snippet of help text
Example form legend
@
Here's some help text
Example form legend
Note: Labels surround all the options for much larger click areas and a more usable form.
to All times are shown as Pacific Standard Time (GMT -08:00).
Block of help text to describe the field above if need be.
 

Stacked forms

Add .form-stacked to your form’s HTML and you’ll have labels on top of their fields instead of to their left. This works great if your forms are short or you have two columns of inputs for heavier forms.

Example form legend
Example form legend
Small snippet of help text
Note: Labels surround all the options for much larger click areas and a more usable form.
 

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 ui-color-blue .ui-priority-primary class, a light-ui-color-blue .ui-state-info class, a ui-color-green .ui-state-success class, and a ui-color-red .ui-state-error class. Plus, rolling your own styles is easy peasy.

Example buttons

Button styles can be applied to anything with the .ui-button 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

 

Basic alerts

div.ui-message

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

×

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

×

Oh snap! Change this and that and try again.

×

Well done! You ui-state-successfully read this alert message.

×

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

Block messages

div.ui-message.ui-message-block

For messages that require a bit of explanation, we have paragraph style alerts. These are perfect for bubbling up longer ui-state-error messages, ui-state-highlight a user of a pending action, or just presenting ui-state-information for more emphasis on the page.

×

Holy gaucamole! This is a ui-state-highlight! 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 ui-state-error! Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.

×

Well done! You ui-state-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.

Modals

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

Modal Heading

×

One fine body…

Tool Tips

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

Lorem ipsum dolar sit amet illo ui-state-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.

below!
right!
left!
above!

Popovers

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

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

Check the link below for how to use jQuery Bootstrap with jQuery UI.

View javascript docs »

What's jQuery UI

jQuery UI is the official jQuery user interface library. It provides interactions, widgets, effects, and theming for creating Rich Internet Applications.

jQuery UI provides abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications.