Migrating from 1.x to 2.x
WVA styleguide is not backward compatible through major versions. Use this section as a general guide to upgrading from v1.x to v2.x.
Major class changes
This table shows the style changes between Twitter Bootstrap v2.x and v3.0.
| Bootstrap 2.x | Bootstrap 3.0 |
|---|---|
.row-fluid |
.row |
.span* |
.col-md-* |
.offset* |
.col-md-offset-* |
.brand |
.navbar-brand |
.nav-collapse |
.navbar-collapse |
.nav-toggle |
.navbar-toggle |
.btn-navbar |
.navbar-btn |
.hero-unit |
.jumbotron |
.icon-* |
.glyphicon .glyphicon-* |
.btn |
.btn .btn-default |
.btn-mini |
.btn-xs |
.btn-small |
.btn-sm |
.btn-large |
.btn-lg |
.alert-error |
.alert-danger |
.visible-phone |
.visible-xs |
.visible-tablet |
.visible-sm |
.visible-desktop |
Split into .visible-md .visible-lg |
.hidden-phone |
.hidden-xs |
.hidden-tablet |
.hidden-sm |
.hidden-desktop |
Split into .hidden-md .hidden-lg |
.input-block-level |
.form-control |
.control-group |
.form-group |
.control-group.warning .control-group.error .control-group.success |
.form-group.has-* |
.checkbox.inline .radio.inline |
.checkbox-inline .radio-inline |
.input-prepend .input-append |
.input-group |
.add-on |
.input-group-addon |
.img-polaroid |
.img-thumbnail |
ul.unstyled |
.list-unstyled |
ul.inline |
.list-inline |
.muted |
.text-muted |
.label |
.label .label-default |
.label-important |
.label-danger |
.text-error |
.text-danger |
.table .error |
.table .danger |
.bar |
.progress-bar |
.bar-* |
.progress-bar-* |
.accordion |
.panel-group |
.accordion-group |
.panel .panel-default |
.accordion-heading |
.panel-heading |
.accordion-body |
.panel-collapse |
.accordion-inner |
.panel-body |
What's new
We've added new elements and changed some existing ones. Here are the new or updated styles.
| Element | Description |
|---|---|
| Panels | .panel .panel-default .panel-body .panel-title .panel-heading .panel-footer .panel-collapse |
| List groups | .list-group .list-group-item .list-group-item-text .list-group-item-heading |
| Glyphicons | .glyphicon |
| Jumbotron | .jumbotron |
| Extra small grid (<768px) | .col-xs-* |
| Small grid (≥768px) | .col-sm-* |
| Medium grid (≥992px) | .col-md-* |
| Large grid (≥1200px) | .col-lg-* |
| Responsive utility classes (≥1200px) | .visible-lg .hidden-lg |
| Offsets | .col-sm-offset-* .col-md-offset-* .col-lg-offset-* |
| Push | .col-sm-push-* .col-md-push-* .col-lg-push-* |
| Pull | .col-sm-pull-* .col-md-pull-* .col-lg-pull-* |
| Input height sizes | .input-sm .input-lg |
| Input groups | .input-group .input-group-addon .input-group-btn |
| Form controls | .form-control .form-group |
| Button group sizes | .btn-group-xs .btn-group-sm .btn-group-lg |
| Navbar text | .navbar-text |
| Navbar header | .navbar-header |
| Justified tabs / pills | .nav-justified |
| Responsive images | .img-responsive |
| Contextual table rows | .success .danger .warning .active .info |
| Contextual panels | .panel-success .panel-danger .panel-warning .panel-info |
| Modal | .modal-dialog .modal-content |
| Thumbnail image | .img-thumbnail |
| Well sizes | .well-sm .well-lg |
| Alert links | .alert-link |
What's removed
The following elements have been dropped or changed in v3.0.
| Element | Removed from 2.x | 3.0 Equivalent |
|---|---|---|
| Form actions | .form-actions |
N/A |
| Search form | .form-search |
N/A |
| Form group with info | .control-group.info |
N/A |
| Fixed-width input sizes | .input-mini .input-small .input-medium .input-large .input-xlarge .input-xxlarge |
Use .form-control and the grid system instead. |
| Block level form input | .input-block-level |
No direct equivalent, but forms controls are similar. |
| Inverse buttons | .btn-inverse |
N/A |
| Fluid row | .row-fluid |
.row (no more fixed grid) |
| Controls wrapper | .controls |
N/A |
| Controls row | .controls-row |
.row or .form-group |
| Navbar inner | .navbar-inner |
N/A |
| Navbar vertical dividers | .navbar .divider-vertical |
N/A |
| Dropdown submenu | .dropdown-submenu |
N/A |
| Tab alignments | .tabs-left .tabs-right .tabs-below |
N/A |
| Pill-based tabbable area | .pill-content |
.tab-content |
| Pill-based tabbable area pane | .pill-pane |
.tab-pane |
| Nav lists | .nav-list .nav-header |
No direct equivalent, but list groups and .panel-groups are similar. |
| Inline help for form controls | .help-inline |
No exact equivalent, but .help-block is similar. |
Additional notes
Other changes in v3.0 are not immediately apparent. Base classes, key styles, and behaviors have been adjusted for flexibility and our mobile first approach. Here's a partial list:
- By default, text-based form controls now receive only minimal styling. For focus colors and rounded corners, apply the
.form-controlclass on the element to style. - Text-based form controls with the
.form-controlclass applied are now 100% wide by default. Wrap inputs inside<div class="col-*"></div>to control input widths. .badgeno longer has contextual (-success,-primary,etc..) classes..btnmust also use.btn-defaultto get the "default" button..rowis now fluid.- Images are no longer responsive by default. Use
.img-responsivefor fluid<img>size. - Typeahead has been dropped, in favor of using Twitter Typeahead.
- Modal markup has changed significantly. The
.modal-header,.modal-body, and.modal-footersections are now wrapped in.modal-contentand.modal-dialogfor better mobile styling and behavior. Also, you should no longer apply.hideto.modalin your markup. - As of v3.1.0, the HTML loaded by the
remotemodal option is now injected into the.modal-content(from v3.0.0 to v3.0.3, into the.modal) instead of into the.modal-body. This allows you to also easily vary the header and footer of the modal, not just the modal body. - JavaScript events are namespaced. For example, to handle the modal "show" event, use
'show.bs.modal'. For tabs "shown" use'shown.bs.tab', etc.