# Dropdown menus

## Example

Toggleable, contextual menu for displaying lists of links. Made interactive with the dropdown JavaScript plugin.

    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
      <li><a tabindex="-1" href="#">Action</a></li>
      <li><a tabindex="-1" href="#">Another action</a></li>
      <li><a tabindex="-1" href="#">Something else here</a></li>
      <li class="divider"></li>
      <li><a tabindex="-1" href="#">Separated link</a></li>
    </ul>

## Markup

Looking at just the dropdown menu, here's the required HTML. You need to wrap the dropdown's trigger and the dropdown menu within `.dropdown`, or another element that declares `position: relative;`. Then just create the menu.

    <div class="dropdown">
      <!-- Link or button to toggle dropdown -->
      <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
        <li><a tabindex="-1" href="#">Action</a></li>
        <li><a tabindex="-1" href="#">Another action</a></li>
        <li><a tabindex="-1" href="#">Something else here</a></li>
        <li class="divider"></li>
        <li><a tabindex="-1" href="#">Separated link</a></li>
      </ul>
    </div>

## Options

Align menus to the right and add include additional levels of dropdowns.

### Aligning the menus

Add `.pull-right` to a `.dropdown-menu` to right align the dropdown menu.

    <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="dLabel">
      ...
    </ul>

### Disabled menu options

Add `.disabled` to a `<li>` in the dropdown to disable the link.

    <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
      <li><a tabindex="-1" href="#">Regular link</a></li>
      <li><a tabindex="-1" href="#">Disabled link</a></li>
      <li><a tabindex="-1" href="#">Another link</a></li>
    </ul>

# Button groups

## Examples

Two basic options, along with two more specific variations.

### Single button group

Wrap a series of buttons with `.btn` in `.btn-group`.

    <div class="btn-group">
      <button class="btn">Left</button>
      <button class="btn">Middle</button>
      <button class="btn">Right</button>
    </div>

### Multiple button groups

Combine sets of `<div class="btn-group">` into a `<div class="btn-toolbar">` for more complex components.

    <div class="btn-toolbar">
      <div class="btn-group">
        ...
      </div>
    </div>

### Vertical button groups

Make a set of buttons appear vertically stacked rather than horizontally.

    <div class="btn-group btn-group-vertical">
      ...
    </div>

#### Checkbox and radio flavors

Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View the JavaScript docs for that.

#### Dropdowns in button groups

Buttons with dropdowns must be individually wrapped in their own `.btn-group` within a `.btn-toolbar` for proper rendering.

# Button dropdown menus

## Overview and examples

Use any button to trigger a dropdown menu by placing it within a `.btn-group` and providing the proper menu markup.

    <div class="btn-group">
      <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
        Action
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu">
        <!-- dropdown menu links -->
      </ul>
    </div>

### Works with all button sizes

Button dropdowns work at any size: `.btn-large`, `.btn-small`, or `.btn-mini`.

### Requires JavaScript

Button dropdowns require the Bootstrap dropdown plugin to function.

In some cases—like mobile—dropdown menus will extend outside the viewport. You need to resolve the alignment manually or with custom JavaScript.

## Split button dropdowns

Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.

    <div class="btn-group">
      <button class="btn">Action</button>
      <button class="btn dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu">
        <!-- dropdown menu links -->
      </ul>
    </div>

### Sizes

Utilize the extra button classes `.btn-mini`, `.btn-small`, or `.btn-large` for sizing.

    <div class="btn-group">
      <button class="btn btn-mini">Action</button>
      <button class="btn btn-mini dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu">
        <!-- dropdown menu links -->
      </ul>
    </div>

### Dropup menus

Dropdown menus can also be toggled from the bottom up by adding a single class to the immediate parent of `.dropdown-menu`. It will flip the direction of the `.caret` and reposition the menu itself to move from the bottom up instead of top down.

    <div class="btn-group dropup">
      <button class="btn">Dropup</button>
      <button class="btn dropdown-toggle" data-toggle="dropdown">
        <span class="caret"></span>
      </button>
      <ul class="dropdown-menu">
        <!-- dropdown menu links -->
      </ul>
    </div>

# Navs

Navs available in Bootstrap have shared markup, starting with the base `.nav` class, as well as shared states. Swap modifier classes to switch between each style.

## Tabs

Note the `.nav-tabs` class requires the `.nav` base class.

    <ul class="nav nav-tabs">
      <li class="active">
        <a href="#">Home</a>
      </li>
      <li><a href="#">...</a></li>
      <li><a href="#">...</a></li>
    </ul>

## List

Swap the tabs class for `.nav-list`.

    <ul class="nav nav-list">
      <li class="active">
        <a href="#">Home</a>
      </li>
      <li><a href="#">...</a></li>
      <li><a href="#">...</a></li>
    </ul>

## Pills

Take that same HTML, but use `.nav-pills` instead:

    <ul class="nav nav-pills">
      <li class="active">
        <a href="#">Home</a>
      </li>
      <li><a href="#">...</a></li>
      <li><a href="#">...</a></li>
    </ul>

Pills are also vertically stackable. Just add `.nav-stacked`.

    <ul class="nav nav-pills nav-stacked">
      ...
    </ul>

## Options

### Justified links

Easily make tabs or pills equal widths of their parent with `.nav-justified`.

    <ul class="nav nav-tabs nav-justified">
      ...
    </ul>

    <ul class="nav nav-pills nav-justified">
      ...
    </ul>

### Disabled state

For any nav component (tabs, pills, or list), add `.disabled` for gray links and no hover effects. Links will remain clickable, however, unless you remove the `href` attribute. Alternatively, you could implement custom JavaScript to prevent those clicks.

    <ul class="nav nav-pills">
      ...
      <li class="disabled"><a href="#">Home</a></li>
      ...
    </ul>

### Component alignment

To align nav links, use the `.pull-left` or `.pull-right` utility classes. Both classes will add a CSS float in the specified direction.

## Dropdowns

Add dropdown menus with a little extra HTML and the dropdowns JavaScript plugin.

### Tabs with dropdowns

    <ul class="nav nav-tabs">
      <li class="dropdown">
        <a class="dropdown-toggle"
           data-toggle="dropdown"
           href="#">
            Dropdown
            <b class="caret"></b>
          </a>
        <ul class="dropdown-menu">
          <!-- links -->
        </ul>
      </li>
    </ul>

### Pills with dropdowns

    <ul class="nav nav-pills">
      <li class="dropdown">
        <a class="dropdown-toggle"
           data-toggle="dropdown"
           href="#">
            Dropdown
            <b class="caret"></b>
          </a>
        <ul class="dropdown-menu">
          <!-- links -->
        </ul>
      </li>
    </ul>

# Navbar

## Basic navbar

To start, navbars are static (not fixed to the top) and include support for a project name and basic navigation. Place one anywhere within a `.container`, which sets the width of your site and content.

    <div class="navbar">
      <a class="brand" href="#">Title</a>
      <ul class="nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
      </ul>
    </div>

## Navbar components

### Brand

A simple link to show your brand or project name only requires an anchor tag.

    <a class="brand" href="#">Project name</a>

### Nav links

Nav items are simple to add via unordered lists.

    <ul class="nav">
      <li class="active">
        <a href="#">Home</a>
      </li>
      <li><a href="#">Link</a></li>
      <li><a href="#">Link</a></li>
    </ul>

You can easily add dividers to your nav links with an empty list item and a simple class. Just add this between links:

    <ul class="nav">
      ...
      <li class="divider-vertical"></li>
      ...
    </ul>

### Forms

To properly style and position a form within the navbar, add the appropriate classes as shown below. For a default form, include `.navbar-form` and either `.pull-left` or `.pull-right` to properly align it.

    <form class="pull-left">
      <input type="text" style="width: 200px;">
      <button type="submit" class="btn">Submit</button>
    </form>

### Component alignment

Align nav links, search form, or text, use the `.pull-left` or `.pull-right` utility classes. Both classes will add a CSS float in the specified direction.

### Using dropdowns

Add dropdowns and dropups to the nav with a bit of markup and the dropdowns JavaScript plugin.

    <ul class="nav">
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
          Account
          <b class="caret"></b>
        </a>
        <ul class="dropdown-menu">
          ...
        </ul>
      </li>
    </ul>

Visit the JavaScript dropdowns documentation for more markup and information on calling dropdowns.

### Text

Wrap strings of text in an element with `.navbar-text`, usually on a `<p>` tag for proper leading and color.

## Optional display variations

Fix the navbar to the top or bottom of the viewport with an additional class on the outermost div, `.navbar`.

### Fixed to top

Add `.navbar-fixed-top` and remember to account for the hidden area underneath it by adding at least 40px `padding` to the `<body>`. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.

    <div class="navbar navbar-fixed-top">
      ...
    </div>

### Fixed to bottom

Add `.navbar-fixed-bottom` instead.

    <div class="navbar navbar-fixed-bottom">
      ...
    </div>

### Static top navbar

Create a full-width navbar that scrolls away with the page by adding `.navbar-static-top`. Unlike the `.navbar-fixed-top` class, you do not need to change any padding on the `body`.

    <div class="navbar navbar-static-top">
      ...
    </div>

## Responsive navbar

To implement a collapsing responsive navbar, wrap your navbar content in a containing div, `.nav-collapse.collapse`, and add the navbar toggle button, `.btn-navbar`.

    <div class="navbar">
      <div class="container">

        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </a>

        <!-- Be sure to leave the brand out there if you want it shown -->
        <a class="brand" href="#">Project name</a>

        <!-- Everything you want hidden at 940px or less, place within here -->
        <div class="nav-collapse collapse">
          <!-- .nav, .navbar-search, .navbar-form, etc -->
        </div>

      </div>
    </div>

Heads up! The responsive navbar requires the collapse plugin and responsive Bootstrap CSS file.

## Inverted variation

Modify the look of the navbar by adding `.navbar-inverse`.

    <div class="navbar navbar-inverse">
      ...
    </div>

# Breadcrumbs

## Examples

A single example shown as it might be displayed across multiple pages.

    <ul class="breadcrumb">
      <li><a href="#">Home</a></li>
      <li><a href="#">Library</a></li>
      <li class="active">Data</li>
    </ul>

# Pagination Two options for paging through content

## Standard pagination

Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.

- «
- 1
- 2
- 3
- 4
- 5
- »

    <ul class="pagination">
      <li><a href="#">Prev</a></li>
      <li><a href="#">1</a></li>
      <li><a href="#">2</a></li>
      <li><a href="#">3</a></li>
      <li><a href="#">4</a></li>
      <li><a href="#">Next</a></li>
    </ul>

## Options

### Disabled and active states

Links are customizable for different circumstances. Use `.disabled` for unclickable links and `.active` to indicate the current page.

- «
- 1
- 2
- 3
- 4
- 5
- »

    <ul class="pagination">
      <li class="disabled"><a href="#">Prev</a></li>
      <li class="active"><a href="#">1</a></li>
      ...
    </ul>

You can optionally swap out active or disabled anchors for spans to remove click functionality while retaining intended styles.

    <ul class="pagination">
      <li class="disabled"><span>Prev</span></li>
      <li class="active"><span>1</span></li>
      ...
    </ul>

### Sizes

Fancy larger or smaller pagination? Add `.pagination-large`, `.pagination-small`, or `.pagination-mini` for additional sizes.

- «
- 1
- 2
- 3
- 4
- 5
- »

- «
- 1
- 2
- 3
- 4
- 5
- »

- «
- 1
- 2
- 3
- 4
- 5
- »

- «
- 1
- 2
- 3
- 4
- 5
- »

    <ul class="pagination pagination-large">
      ...
    </ul>
    <ul class="pagination">
      ...
    </ul>
    <ul class="pagination pagination-small">
      ...
    </ul>
    <ul class="pagination pagination-mini">
      ...
    </ul>

## Pager

Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.

### Default example

By default, the pager centers links.

- Previous
- Next

    <ul class="pager">
      <li><a href="#">Previous</a></li>
      <li><a href="#">Next</a></li>
    </ul>

### Aligned links

Alternatively, you can align each link to the sides:

- ← Older
- Newer →

    <ul class="pager">
      <li class="previous">
        <a href="#">&larr; Older</a>
      </li>
      <li class="next">
        <a href="#">Newer &rarr;</a>
      </li>
    </ul>

### Optional disabled state

Pager links also use the general `.disabled` utility class from the pagination.

- ← Older
- Newer →

    <ul class="pager">
      <li class="previous disabled">
        <a href="#">&larr; Older</a>
      </li>
      ...
    </ul>

# Badges

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>`
Danger | 6 | `<span class="badge badge-danger">6</span>`

### Easily collapsible

For easy implementation, badges will simply collapse (via CSS's `:empty` selector) when no content exists within.

# Typographic components

## Jumbotron

A lightweight, flexible component to showcase key content on your site. It works well on marketing and content-heavy sites.

# Hello, world!

This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

Learn more

    <div class="jumbotron">
      <h1>Heading</h1>
      <p>Tagline</p>
      <p>
        <a class="btn btn-primary btn-large">
          Learn more
        </a>
      </p>
    </div>

## Page header

A simple shell for an `h1` to appropriately space out and segment sections of content on a page. It can utilize the `h1`'s default `small`, element as well most other components (with additional styles).

# Example page header Subtext for header

    <div class="page-header">
      <h1>Example page header <small>Subtext for header</small></h1>
    </div>

# Thumbnails Grids of images, videos, text, and more

### Default thumbnails

By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.

    <div class="row">
      <div class="span3">
        <a href="#" class="thumbnail">
          <img src="holder.js/260x180" alt="">
        </a>
      </div>
      ...
    </div>

### Custom content thumbnails

With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.

### Thumbnail label

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Action Action

### Thumbnail label

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Action Action

### Thumbnail label

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Action Action

    <div class="row">
      <div class="span4">
        <div class="thumbnail">
          <img data-src="holder.js/300x200" alt="">
          <h3>Thumbnail label</h3>
          <p>Thumbnail caption...</p>
        </div>
      </div>
      ...
    </div>

# Alerts Styles for success, warning, and error messages

## Default alert

Wrap any text and an optional dismiss button in `.alert` for a basic warning alert message.

Warning! Best check yo self, you're not looking too good.

    <div class="alert">
      <button type="button" class="close" data-dismiss="alert">&times;</button>
      <strong>Warning!</strong> Best check yo self, you're not looking too good.
    </div>

### Dismiss buttons

Mobile Safari and Mobile Opera browsers, in addition to the `data-dismiss="alert"` attribute, require an `href="#"` for the dismissal of alerts when using an `<a>` tag.

    <a href="#" class="close" data-dismiss="alert">&times;</a>

Alternatively, you may use a `<button>` element with the data attribute, which we have opted to do for our docs. When using `<button>`, you must include `type="button"` or your forms may not submit.

    <button type="button" class="close" data-dismiss="alert">&times;</button>

### Dismiss alerts via JavaScript

Use the alerts jQuery plugin for quick and easy dismissal of alerts.

## Options

For longer messages, increase the padding on the top and bottom of the alert wrapper by adding `.alert-block`.

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

    <div class="alert alert-block">
      <button type="button" class="close" data-dismiss="alert">&times;</button>
      <h4>Warning!</h4>
      Best check yo self, you're not...
    </div>

## Contextual alternatives

Add optional classes to change an alert's connotation.

### Error or danger

Oh snap! Change a few things up and try submitting again.

    <div class="alert alert-error">
      ...
    </div>

### Success

Well done! You successfully read this important alert message.

    <div class="alert alert-success">
      ...
    </div>

### Information

Heads up! This alert needs your attention, but it's not super important.

    <div class="alert alert-info">
      ...
    </div>

# Progress bars For loading, redirecting, or action status

## Examples and markup

### Basic

Default progress bar with a vertical gradient.

    <div class="progress">
      <div class="bar" style="width: 60%;"></div>
    </div>

### Striped

Uses a gradient to create a striped effect. Not available in IE8.

    <div class="progress progress-striped">
      <div class="bar" style="width: 20%;"></div>
    </div>

### Animated

Add `.active` to `.progress-striped` to animate the stripes right to left. Not available in all versions of IE.

    <div class="progress progress-striped active">
      <div class="bar" style="width: 40%;"></div>
    </div>

### Stacked

Place multiple bars into the same `.progress` to stack them.

    <div class="progress">
      <div class="bar bar-success" style="width: 35%;"></div>
      <div class="bar bar-warning" style="width: 20%;"></div>
      <div class="bar bar-danger" style="width: 10%;"></div>
    </div>

## Options

### Additional colors

Progress bars use some of the same button and alert classes for consistent styles.

    <div class="progress progress-info">
      <div class="bar" style="width: 20%"></div>
    </div>
    <div class="progress progress-success">
      <div class="bar" style="width: 40%"></div>
    </div>
    <div class="progress progress-warning">
      <div class="bar" style="width: 60%"></div>
    </div>
    <div class="progress progress-danger">
      <div class="bar" style="width: 80%"></div>
    </div>

### Striped bars

Similar to the solid colors, we have varied striped progress bars.

    <div class="progress progress-info progress-striped">
      <div class="bar" style="width: 20%"></div>
    </div>
    <div class="progress progress-success progress-striped">
      <div class="bar" style="width: 40%"></div>
    </div>
    <div class="progress progress-warning progress-striped">
      <div class="bar" style="width: 60%"></div>
    </div>
    <div class="progress progress-danger progress-striped">
      <div class="bar" style="width: 80%"></div>
    </div>

## Browser support

Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE8-9 or older versions of Firefox.

Versions earlier than Internet Explorer 10 and Opera 12 do not support animations.

# Media object

Abstract object styles for building various types of components (like blog comments, Tweets, etc) that feature a left- or right-aligned image alongside textual content.

## Default example

The default media allow to float a media object (images, video, audio) to the left or right of a content block.

#### Media heading

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

#### Media heading

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

#### Media heading

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

    <div class="media">
      <a class="pull-left" href="#">
        <img class="media-object" data-src="holder.js/64x64">
      </a>
      <div class="media-body">
        <h4 class="media-heading">Media heading</h4>
        ...

        <!-- Nested media object -->
        <div class="media">
          ...
        </div>
      </div>
    </div>

## Media list

With a bit of extra markup, you can use media inside list (useful for comment threads or articles lists).

- #### Media heading

  Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

  #### Nested media heading

  Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

  #### Nested media heading

  Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

  #### Nested media heading

  Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

- #### Media heading

  Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

    <ul class="media-list">
      <li class="media">
        <a class="pull-left" href="#">
          <img class="media-object" data-src="holder.js/64x64">
        </a>
        <div class="media-body">
          <h4 class="media-heading">Media heading</h4>
          ...

          <!-- Nested media object -->
          <div class="media">
            ...
         </div>
        </div>
      </li>
    </ul>

# Miscellaneous Lightweight utility components

## Wells

Use the well as a simple effect on an element to give it an inset effect.

Look, I'm in a well!

    <div class="well">
      ...
    </div>

### Optional classes

Control padding and rounded corners with two optional modifier classes.

Look, I'm in a well!

    <div class="well well-large">
      ...
    </div>

Look, I'm in a well!

    <div class="well well-small">
      ...
    </div>

## Close icon

Use the generic close icon for dismissing content like modals and alerts.

    <button class="close">&times;</button>

iOS devices require an `href="#"` for click events if you would rather use an anchor.

    <a class="close" href="#">&times;</a>

## Helper classes

Simple, focused classes for small display or behavior tweaks.

#### .pull-left

Float an element left

    class="pull-left"

    .pull-left {
      float: left;
    }

#### .pull-right

Float an element right

    class="pull-right"

    .pull-right {
      float: right;
    }

#### .muted

Change an element's color to `#999`

    class="muted"

    .muted {
      color: #999;
    }

#### .clearfix

Clear the `float` on any element. Utilizes the micro clearfix as popularized by Nicolas Gallagher.

    class="clearfix"

    .clearfix {
      &:before,
      &:after {
        content: " ";
        display: table;
      }
      &:after {
        clear: both;
      }
    }