The entire typographic grid is based on two Less variables in our variables.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.
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.
Element | Usage | Optional |
---|---|---|
<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 Use |
<address>
|
For contact information for its nearest ancestor or the entire body of work |
Preserve formatting by ending all lines with <br>
|
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.
Here are two examples of how the <address>
tag can be used:
Abbreviations with a title
attribute have a light dotted bottom border and a help cursor on hover. This gives users extra indication something will be shown on hover.
Add the initialism
class to an abbreviation to increase typographic harmony by giving it a slightly smaller text size.
HTML is the best thing since sliced bread.
An abbreviation of the word attribute is attr.
Element | Usage | Optional |
---|---|---|
<blockquote>
|
Block-level element for quoting content from another source |
Add Use |
<small>
|
Optional element for adding a user-facing citation, typically an author with title of work |
Place the <cite> around the title or name of source
|
To include a blockquote, wrap <blockquote>
around any HTML as the quote. For straight quotes we recommend a <p>
.
Include an optional <small>
element to cite your source and you’ll get an em dash —
before it for styling purposes.
<blockquote> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.</p> <small>Someone famous</small> </blockquote>
Default blockquotes are styled as such:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.
Someone famous in Body of work
To float your blockquote to the right, add class="pull-right"
:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis.
Someone famous in Body of work
<ul>
<ul class="unstyled">
<ol>
<dl>
<dl class="dl-horizontal">
Heads up!
Horizontal description lists will truncate terms that are too long to fit in the left column fix text-overflow
. In narrower viewports, they will change to the default stacked layout.
Wrap inline snippets of code with <code>
.
For example, <code>section</code> should be wrapped as inline.
Use <pre>
for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.
<p>Sample text here...</p>
<pre> <p>Sample text here...</p> </pre>
Note: Be sure to keep code within <pre>
tags as close to the left as possible; it will render all tabs.
You may optionally add the .pre-scrollable
class which will set a max-height of 350px and provide a y-axis scrollbar.
Take the same <pre>
element and add two optional classes for enhanced rendering.
<p>Sample text here...</p>
<pre class="prettyprint linenums"> <p>Sample text here...</p> </pre>
Download google-code-prettify and view the readme for how to use.
Tag | Description |
---|---|
<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>
Name | Class | Description |
---|---|---|
Default | None | No styles, just columns and rows |
Basic |
.table
|
Only horizontal lines between rows |
Bordered |
.table-bordered
|
Rounds corners and adds outer border |
Zebra-stripe |
.table-striped
|
Adds light gray background color to odd rows (1, 3, 5, etc) |
Condensed |
.table-condensed
|
Cuts vertical padding in half, from 8px to 4px, within all td and th elements |
Tables are automatically styled with only a few borders to ensure readability and maintain structure. With 2.0, the .table
class is required.
<table class="table"> … </table>
# | First Name | Last Name | Username |
---|---|---|---|
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry | the Bird |
Get a little fancy with your tables by adding zebra-striping—just add the .table-striped
class.
Note: Striped tables use the :nth-child
CSS selector and is not available in IE7-IE8.
<table class="table table-striped"> … </table>
# | First Name | Last Name | Username |
---|---|---|---|
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry | the Bird |
Add borders around the entire table and rounded corners for aesthetic purposes.
<table class="table table-bordered"> … </table>
# | First Name | Last Name | Username |
---|---|---|---|
1 | Mark | Otto | @mdo |
Mark | Otto | @TwBootstrap | |
2 | Jacob | Thornton | @fat |
3 | Larry the Bird |
Make your tables more compact by adding the .table-condensed
class to cut table cell padding in half (from 8px to 4px).
<table class="table table-condensed"> … </table>
# | First Name | Last Name | Username |
---|---|---|---|
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry the Bird |
Feel free to combine any of the table classes to achieve different looks by utilizing any of the available classes.
<table class="table table-striped table-bordered table-condensed"> ... </table>
Full name | |||
---|---|---|---|
# | First Name | Last Name | Username |
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry the Bird |
Labels | Markup |
---|---|
Default |
<span class="label">Default</span>
|
Success |
<span class="label label-success">Success</span>
|
Warning |
<span class="label label-warning">Warning</span>
|
Important |
<span class="label label-important">Important</span>
|
Info |
<span class="label label-info">Info</span>
|
Inverse |
<span class="label label-inverse">Inverse</span>
|
Badges are small, simple components for displaying an indicator or count of some sort. They’re commonly found in email clients like Mail.app or on mobile apps for push notifications.
Name | Example | Markup |
---|---|---|
Default | 1 |
<span class="badge">1</span>
|
Success | 2 |
<span class="badge badge-success">2</span>
|
Warning | 4 |
<span class="badge badge-warning">4</span>
|
Important | 6 |
<span class="badge badge-important">6</span>
|
Info | 8 |
<span class="badge badge-info">8</span>
|
Inverse | 10 |
<span class="badge badge-inverse">10</span>
|
Bootstrap provides a lightweight, flexible component called a hero unit to showcase content on your site. It works well on marketing and content-heavy sites.
Wrap your content in a div
like so:
<div class="hero-unit"> <h1>Heading</h1> <p>Tagline</p> <p> <a class="btn btn-primary btn-large"> Learn more </a> </p> </div>
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
By default, Bootstrap’s thumbnails are designed to showcase linked images with minimal required markup.
With a bit of extra markup, it’s possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.
Thumbnails (previously .media-grid
up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.
Thumbnail markup is simple—a ul
with any number of li
elements is all that is required. It’s also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.
Lastly, the thumbnails component uses existing grid system classes—like .span2
or .span3
—for control of thumbnail dimensions.
As mentioned previously, the required markup for thumbnails is light and straightforward. Here’s a look at the default setup for linked images:
<ul class="thumbnails"> <li class="span3"> <a href="#" class="thumbnail"> <img src="http://placehold.it/260x180" alt=""> </a> </li> ... </ul>
For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <a>
for a <div>
like so:
<ul class="thumbnails"> <li class="span3"> <div class="thumbnail"> <img src="http://placehold.it/260x180" alt=""> <h5>Thumbnail label</h5> <p>Thumbnail caption right here...</p> </div> </li> ... </ul>
With Bootstrap 2, we’ve simplified the base class: .alert
instead of .alert-message
. We’ve also reduced the minimum required markup—no <p>
is required by default, just the outer <div>
.
For a more durable component with less code, we’ve removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to .alert-block
.
Bootstrap comes with a great jQuery plugin that supports alert messages, making dismissing them quick and easy.
Wrap your message and an optional close icon in a div with simple class.
<div class="alert"> <button class="close" data-dismiss="alert">×</button> <strong>Warning!</strong> Best check yo self, you're not looking too good. </div>
Heads up! iOS devices require an href="#"
for the dismissal of alerts. Be sure to include it and the data attribute for anchor close icons. Alternatively, you may use a button
element with the data attribute, which we have opted to do for our docs.
Easily extend the standard alert message with two optional classes: .alert-block
for more padding and text controls and .alert-heading
for a matching heading.
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.
<div class="alert alert-block"> <a class="close" data-dismiss="alert" href="#">×</a> <h4 class="alert-heading">Warning!</h4> Best check yo self, you're not... </div>
<div class="alert alert-error"> ... </div>
<div class="alert alert-success"> ... </div>
<div class="alert alert-info"> ... </div>
Use various of predefined dividers. For less padding use HR tag. For More padding use DIV tag.
<hr>
<hr class="divider1">
<div class="divider-title">...</div><hr class="divider1">
<div class="divider divider10"></div>
<div class="divider divider1"><span>...</span></div>
You can also use DIV with “closer” class to make less padding between elements. It will close up two elements with -30px margin bottom css.
Use the well as a simple effect on an element to give it an inset effect.
<div class="well"> ... </div>
Use the generic close icon for dismissing content like modals and alerts.
<button class="close">×</button>
iOS devices require an href=”#” for click events if you rather use an anchor.
<a class="close" href="#">×</a>
<hr class="divider1">
<hr class="divider2">
<hr class="divider3">
<hr class="divider4">
<hr class="divider5">
<hr class="divider6">
<hr class="divider7">
<hr class="divider8">
<hr class="divider9">
<hr class="divider10">
<hr class="divider11">
<hr class="divider12">
<hr class="divider13">
<hr class="divider14">
<hr class="divider15">
<hr class="divider16">
<hr class="divider17">
<hr class="divider18">
<hr class="divider19">
<hr class="divider20">