From 3f76a6fcd28a5bfd7444ef8114bca1c8912a4586 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Fri, 26 Jun 2020 02:34:44 +0300 Subject: [PATCH] Fix 404s after the `master` -> `main` change. (#31177) --- README.md | 2 +- docs/3.3/about/index.html | 2 +- docs/3.3/browser-bugs/index.html | 2 +- docs/3.3/components/index.html | 2 +- docs/3.3/css/index.html | 2 +- docs/3.3/getting-started/index.html | 6 +++--- docs/3.3/index.html | 2 +- docs/3.3/javascript/index.html | 2 +- docs/3.3/migration/index.html | 2 +- docs/4.0/examples/index.html | 2 +- docs/4.1/examples/index.html | 2 +- docs/4.2/examples/index.html | 2 +- docs/4.3/examples/index.html | 2 +- docs/4.4/examples/index.html | 2 +- docs/4.5/examples/index.html | 2 +- docs/versions/index.html | 2 +- index.html | 2 +- 17 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 717e3b9c15..1086a38e41 100644 --- a/README.md +++ b/README.md @@ -24,4 +24,4 @@ **[Head to the default branch for guidance on local development, contributing, support, and more.](https://github.com/twbs/bootstrap/)** -Code and documentation copyright 2011-2019 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE). +Code and documentation copyright 2011-2019 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/main/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/main/docs/LICENSE). diff --git a/docs/3.3/about/index.html b/docs/3.3/about/index.html index d9e061c54e..9b92e9e577 100644 --- a/docs/3.3/about/index.html +++ b/docs/3.3/about/index.html @@ -1 +1 @@ - About · Bootstrap
Skip to main content
Bootstrap 4 is here!

About

Learn about the project's history, meet the maintaining teams, and find out how to use the Bootstrap brand.

History

Originally created by a designer and a developer at Twitter, Bootstrap has become one of the most popular front-end frameworks and open source projects in the world.

Bootstrap was created at Twitter in mid-2010 by @mdo and @fat. Prior to being an open-sourced framework, Bootstrap was known as Twitter Blueprint. A few months into development, Twitter held its first Hack Week and the project exploded as developers of all skill levels jumped in without any external guidance. It served as the style guide for internal tools development at the company for over a year before its public release, and continues to do so today.

Originally released on Friday, August 19, 2011, we've since had over twenty releases, including two major rewrites with v2 and v3. With Bootstrap 2, we added responsive functionality to the entire framework as an optional stylesheet. Building on that with Bootstrap 3, we rewrote the library once more to make it responsive by default with a mobile first approach.

Team

Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.

Core team

Get involved with Bootstrap development by opening an issue or submitting a pull request. Read our contributing guidelines for information on how we develop.

Sass team

The official Sass port of Bootstrap was created and is maintained by this team. It became part of Bootstrap's organization with v3.1.0. Read the Sass contributing guidelines for information on how the Sass port is developed.

Brand guidelines

Have a need for Bootstrap's brand resources? Great! We have only a few guidelines we follow, and in turn ask you to follow as well. These guidelines were inspired by MailChimp's Brand Assets.

Mark and logo

Use either the Bootstrap mark (a capital B) or the standard logo (just Bootstrap). It should always appear in Helvetica Neue Bold. Do not use the Twitter bird in association with Bootstrap.

B
B

Bootstrap

Bootstrap

Download mark

Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.

Bootstrap
Bootstrap
Bootstrap

Name

The project and framework should always be referred to as Bootstrap. No Twitter before it, no capital s, and no abbreviations except for one, a capital B.

Bootstrap

(correct)

BootStrap

(incorrect)

Twitter Bootstrap

(incorrect)

Colors

Our docs and branding use a handful of primary colors to differentiate what is Bootstrap from what is in Bootstrap. In other words, if it's purple, it's representative of Bootstrap.

+ About · Bootstrap
Skip to main content
Bootstrap 4 is here!

About

Learn about the project's history, meet the maintaining teams, and find out how to use the Bootstrap brand.

History

Originally created by a designer and a developer at Twitter, Bootstrap has become one of the most popular front-end frameworks and open source projects in the world.

Bootstrap was created at Twitter in mid-2010 by @mdo and @fat. Prior to being an open-sourced framework, Bootstrap was known as Twitter Blueprint. A few months into development, Twitter held its first Hack Week and the project exploded as developers of all skill levels jumped in without any external guidance. It served as the style guide for internal tools development at the company for over a year before its public release, and continues to do so today.

Originally released on Friday, August 19, 2011, we've since had over twenty releases, including two major rewrites with v2 and v3. With Bootstrap 2, we added responsive functionality to the entire framework as an optional stylesheet. Building on that with Bootstrap 3, we rewrote the library once more to make it responsive by default with a mobile first approach.

Team

Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.

Core team

Get involved with Bootstrap development by opening an issue or submitting a pull request. Read our contributing guidelines for information on how we develop.

Sass team

The official Sass port of Bootstrap was created and is maintained by this team. It became part of Bootstrap's organization with v3.1.0. Read the Sass contributing guidelines for information on how the Sass port is developed.

Brand guidelines

Have a need for Bootstrap's brand resources? Great! We have only a few guidelines we follow, and in turn ask you to follow as well. These guidelines were inspired by MailChimp's Brand Assets.

Mark and logo

Use either the Bootstrap mark (a capital B) or the standard logo (just Bootstrap). It should always appear in Helvetica Neue Bold. Do not use the Twitter bird in association with Bootstrap.

B
B

Bootstrap

Bootstrap

Download mark

Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.

Bootstrap
Bootstrap
Bootstrap

Name

The project and framework should always be referred to as Bootstrap. No Twitter before it, no capital s, and no abbreviations except for one, a capital B.

Bootstrap

(correct)

BootStrap

(incorrect)

Twitter Bootstrap

(incorrect)

Colors

Our docs and branding use a handful of primary colors to differentiate what is Bootstrap from what is in Bootstrap. In other words, if it's purple, it's representative of Bootstrap.

diff --git a/docs/3.3/browser-bugs/index.html b/docs/3.3/browser-bugs/index.html index 8dabe0a51b..3848d86f04 100644 --- a/docs/3.3/browser-bugs/index.html +++ b/docs/3.3/browser-bugs/index.html @@ -1 +1 @@ - Wall of browser bugs · Bootstrap
Skip to main content
Bootstrap 4 is here!

Wall of browser bugs

A list of the browser bugs that Bootstrap is currently grappling with.

Browser bugs

Bootstrap currently works around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us.

We publicly list browser bugs that are impacting us here, in the hopes of expediting the process of fixing them. For information on Bootstrap's browser compatibility, see our browser compatibility docs.

See also:

Browser(s) Summary of bug Upstream bug(s) Bootstrap issue(s)
Microsoft Edge

Native browser tooltip for title shows on first keyboard focus (in addition to custom tooltip component)

Edge issue #6793560 #18692
Microsoft Edge

Hovered element still remains in :hover state after scrolling away.

Edge issue #5381673 #14211
Microsoft Edge

When hovering over a <select> menu item, the cursor for the element underneath the menu is displayed.

Edge issue #817822 #14528
Microsoft Edge

CSS border-radius sometimes causes lines of bleed-through of the background-color of the parent element.

Edge issue #3342037 #16671
Microsoft Edge

background of <tr> is only applied to first child cell instead of all cells in the row

Edge issue #5865620 #18504
Microsoft Edge

@-ms-viewport{width: device-width;} has side-effect of making scrollbars auto-hide

Edge issue #7165383 #18543
Microsoft Edge

Background color from lower layer bleeds through transparent border in some cases

Edge issue #6274505 #18228
Microsoft Edge

Hovering over descendant SVG element fires mouseleave event at ancestor

Edge issue #7787318 #19670
Firefox

.table-bordered with an empty <tbody> is missing borders.

Mozilla bug #1023761 #13453
Firefox

If the disabled state of a form control is changed via JavaScript, the normal state doesn’t return after refreshing the page.

Mozilla bug #654072 #793
Firefox

focus events should not be fired at the document object

Mozilla bug #1228802 #18365
Firefox

Wide floated table doesn’t wrap onto new line

Mozilla bug #1277782 #19839
Firefox

Mouse sometimes not within element for purposes of mouseenter/mouseleave when it’s within SVG elements

Mozilla bug #577785 #19670
Firefox

position: absolute element that’s wider than its column renders differently than other browsers

Mozilla bug #1282363 #20161
Firefox (Windows)

Right border of <select> menu is sometimes missing when screen is set to uncommon resolution

Mozilla bug #545685 #15990
Firefox (OS X & Linux)

Badge widget causes bottom border of Tabs widget to unexpectedly not overlap

Mozilla bug #1259972 #19626
Chrome (Android)

Tapping on an <input> in a scrollable overlay doesn’t scroll the <input> into view

Chromium issue #595210 #17338
Chrome (OS X)

Clicking above <input type="number"> increment button flashes the decrement button.

Chromium issue #419108 Offshoot of #8350 & Chromium issue #337668
Chrome

CSS infinite linear animation with alpha transparency leaks memory.

Chromium issue #429375 #14409
Chrome

:focus outline style causes cursor to not be displayed when toggling a readonly <input> to read-write.

Chromium issue #465274 #16022
Chrome

table-cell borders not overlapping despite margin-right: -1px

Chromium issue #534750 #17438, #14237
Chrome

Clicking scrollbar in <select multiple> with overflowed options will select nearby <option>

Chromium issue #597642 #19810
Chrome

Don’t make :hover sticky on touch-friendly webpages

Chromium issue #370155 #12832
Chrome (Windows & Linux)

Animation glitch when returning to inactive tab after animations occurred while tab was hidden.

Chromium issue #449180 #15298
Safari

rem units in media queries should be calculated using font-size: initial, not the root element’s font-size

WebKit bug #156684 #17403
Safari (OS X)

px, em, and rem should all behave the same in media queries when page zoom is applied

WebKit bug #156687 #17403
Safari (OS X)

Weird button behavior with some <input type="number"> elements.

WebKit bug #137269, Apple Safari Radar #18834768 #8350, Normalize #283, Chromium issue #337668
Safari (OS X)

Small font size when printing webpage with fixed-width .container.

WebKit bug #138192, Apple Safari Radar #19435018 #14868
Safari (iPad)

<select> menu on iPad causes shifting of hit-testing areas

WebKit bug #150079, Apple Safari Radar #23082521 #14975
Safari (iOS)

transform: translate3d(0,0,0); rendering bug.

WebKit bug #138162, Apple Safari Radar #18804973 #14603
Safari (iOS)

Text input’s cursor doesn’t move while scrolling the page.

WebKit bug #138201, Apple Safari Radar #18819624 #14708
Safari (iOS)

Can’t move cursor to start of text after entering long string of text into <input type="text">

WebKit bug #148061, Apple Safari Radar #22299624 #16988
Safari (iOS)

display: block causes text of temporal <input>s to become vertically misaligned

WebKit bug #139848, Apple Safari Radar #19434878 #11266, #13098
Safari (iOS)

Tapping on <body> doesn’t fire click events

WebKit bug #151933 #16028
Safari (iOS)

position:fixed is incorrectly positioned when tab bar is visible on iPhone 6S+ Safari

WebKit bug #153056 #18859
Safari (iOS)

Tapping into an <input> within a position:fixed element scrolls to the top of the page

WebKit bug #153224, Apple Safari Radar #24235301 #17497
Safari (iOS)

<body> with overflow:hidden CSS is scrollable on iOS

WebKit bug #153852 #14839
Safari (iOS)

Scroll gesture in text field in position:fixed element sometimes scrolls <body> instead of scrollable ancestor

WebKit bug #153856 #14839
Safari (iOS)

Tapping from one <input> to another in an overlay can cause shaking/jiggling effect

WebKit bug #158276 #19927
Safari (iOS)

Modal with -webkit-overflow-scrolling: touch doesn’t become scrollable after added text makes it taller

WebKit bug #158342 #17695
Safari (iOS)

Don’t make :hover sticky on touch-friendly webpages

WebKit bug #158517 #12832
Safari (iPad Pro)

Rendering of descendants of position: fixed element gets clipped on iPad Pro in Landscape orientation

WebKit bug #152637, Apple Safari Radar #24030853 #18738

Most wanted features

There are several features specified in Web standards which would allow us to make Bootstrap more robust, elegant, or performant, but aren't yet implemented in certain browsers, thus preventing us from taking advantage of them.

We publicly list these "most wanted" feature requests here, in the hopes of expediting the process of getting them implemented.

Browser(s) Summary of feature Upstream issue(s) Bootstrap issue(s)
Microsoft Edge

Implement the :dir() pseudo-class from Selectors Level 4

Edge UserVoice idea #12299532 #19984
Microsoft Edge

Implement sticky positioning from CSS Positioned Layout Level 3

Edge UserVoice idea #6263621 #17021
Firefox

Fire a transitioncancel event when a CSS transition is canceled

Mozilla bug #1264125 Mozilla bug #1182856
Firefox

Implement the of <selector-list> clause of the :nth-child() pseudo-class

Mozilla bug #854148 #20143
Firefox

Implement the HTML5 <dialog> element

Mozilla bug #840640 #20175
Chrome

Implement the of <selector-list> clause of the :nth-child() pseudo-class

Chromium issue #304163 #20143
Chrome

Implement the :dir() pseudo-class from Selectors Level 4

Chromium issue #576815 #19984
Chrome

Implement sticky positioning from CSS Positioned Layout Level 3

Chromium issue #231752 #17021
Safari

Implement the :dir() pseudo-class from Selectors Level 4

WebKit bug #64861 #19984
Safari

Implement the HTML5 <dialog> element

WebKit bug #84635 #20175
\ No newline at end of file + Wall of browser bugs · Bootstrap
Skip to main content
Bootstrap 4 is here!

Wall of browser bugs

A list of the browser bugs that Bootstrap is currently grappling with.

Browser bugs

Bootstrap currently works around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us.

We publicly list browser bugs that are impacting us here, in the hopes of expediting the process of fixing them. For information on Bootstrap's browser compatibility, see our browser compatibility docs.

See also:

Browser(s) Summary of bug Upstream bug(s) Bootstrap issue(s)
Microsoft Edge

Native browser tooltip for title shows on first keyboard focus (in addition to custom tooltip component)

Edge issue #6793560 #18692
Microsoft Edge

Hovered element still remains in :hover state after scrolling away.

Edge issue #5381673 #14211
Microsoft Edge

When hovering over a <select> menu item, the cursor for the element underneath the menu is displayed.

Edge issue #817822 #14528
Microsoft Edge

CSS border-radius sometimes causes lines of bleed-through of the background-color of the parent element.

Edge issue #3342037 #16671
Microsoft Edge

background of <tr> is only applied to first child cell instead of all cells in the row

Edge issue #5865620 #18504
Microsoft Edge

@-ms-viewport{width: device-width;} has side-effect of making scrollbars auto-hide

Edge issue #7165383 #18543
Microsoft Edge

Background color from lower layer bleeds through transparent border in some cases

Edge issue #6274505 #18228
Microsoft Edge

Hovering over descendant SVG element fires mouseleave event at ancestor

Edge issue #7787318 #19670
Firefox

.table-bordered with an empty <tbody> is missing borders.

Mozilla bug #1023761 #13453
Firefox

If the disabled state of a form control is changed via JavaScript, the normal state doesn’t return after refreshing the page.

Mozilla bug #654072 #793
Firefox

focus events should not be fired at the document object

Mozilla bug #1228802 #18365
Firefox

Wide floated table doesn’t wrap onto new line

Mozilla bug #1277782 #19839
Firefox

Mouse sometimes not within element for purposes of mouseenter/mouseleave when it’s within SVG elements

Mozilla bug #577785 #19670
Firefox

position: absolute element that’s wider than its column renders differently than other browsers

Mozilla bug #1282363 #20161
Firefox (Windows)

Right border of <select> menu is sometimes missing when screen is set to uncommon resolution

Mozilla bug #545685 #15990
Firefox (OS X & Linux)

Badge widget causes bottom border of Tabs widget to unexpectedly not overlap

Mozilla bug #1259972 #19626
Chrome (Android)

Tapping on an <input> in a scrollable overlay doesn’t scroll the <input> into view

Chromium issue #595210 #17338
Chrome (OS X)

Clicking above <input type="number"> increment button flashes the decrement button.

Chromium issue #419108 Offshoot of #8350 & Chromium issue #337668
Chrome

CSS infinite linear animation with alpha transparency leaks memory.

Chromium issue #429375 #14409
Chrome

:focus outline style causes cursor to not be displayed when toggling a readonly <input> to read-write.

Chromium issue #465274 #16022
Chrome

table-cell borders not overlapping despite margin-right: -1px

Chromium issue #534750 #17438, #14237
Chrome

Clicking scrollbar in <select multiple> with overflowed options will select nearby <option>

Chromium issue #597642 #19810
Chrome

Don’t make :hover sticky on touch-friendly webpages

Chromium issue #370155 #12832
Chrome (Windows & Linux)

Animation glitch when returning to inactive tab after animations occurred while tab was hidden.

Chromium issue #449180 #15298
Safari

rem units in media queries should be calculated using font-size: initial, not the root element’s font-size

WebKit bug #156684 #17403
Safari (OS X)

px, em, and rem should all behave the same in media queries when page zoom is applied

WebKit bug #156687 #17403
Safari (OS X)

Weird button behavior with some <input type="number"> elements.

WebKit bug #137269, Apple Safari Radar #18834768 #8350, Normalize #283, Chromium issue #337668
Safari (OS X)

Small font size when printing webpage with fixed-width .container.

WebKit bug #138192, Apple Safari Radar #19435018 #14868
Safari (iPad)

<select> menu on iPad causes shifting of hit-testing areas

WebKit bug #150079, Apple Safari Radar #23082521 #14975
Safari (iOS)

transform: translate3d(0,0,0); rendering bug.

WebKit bug #138162, Apple Safari Radar #18804973 #14603
Safari (iOS)

Text input’s cursor doesn’t move while scrolling the page.

WebKit bug #138201, Apple Safari Radar #18819624 #14708
Safari (iOS)

Can’t move cursor to start of text after entering long string of text into <input type="text">

WebKit bug #148061, Apple Safari Radar #22299624 #16988
Safari (iOS)

display: block causes text of temporal <input>s to become vertically misaligned

WebKit bug #139848, Apple Safari Radar #19434878 #11266, #13098
Safari (iOS)

Tapping on <body> doesn’t fire click events

WebKit bug #151933 #16028
Safari (iOS)

position:fixed is incorrectly positioned when tab bar is visible on iPhone 6S+ Safari

WebKit bug #153056 #18859
Safari (iOS)

Tapping into an <input> within a position:fixed element scrolls to the top of the page

WebKit bug #153224, Apple Safari Radar #24235301 #17497
Safari (iOS)

<body> with overflow:hidden CSS is scrollable on iOS

WebKit bug #153852 #14839
Safari (iOS)

Scroll gesture in text field in position:fixed element sometimes scrolls <body> instead of scrollable ancestor

WebKit bug #153856 #14839
Safari (iOS)

Tapping from one <input> to another in an overlay can cause shaking/jiggling effect

WebKit bug #158276 #19927
Safari (iOS)

Modal with -webkit-overflow-scrolling: touch doesn’t become scrollable after added text makes it taller

WebKit bug #158342 #17695
Safari (iOS)

Don’t make :hover sticky on touch-friendly webpages

WebKit bug #158517 #12832
Safari (iPad Pro)

Rendering of descendants of position: fixed element gets clipped on iPad Pro in Landscape orientation

WebKit bug #152637, Apple Safari Radar #24030853 #18738

Most wanted features

There are several features specified in Web standards which would allow us to make Bootstrap more robust, elegant, or performant, but aren't yet implemented in certain browsers, thus preventing us from taking advantage of them.

We publicly list these "most wanted" feature requests here, in the hopes of expediting the process of getting them implemented.

Browser(s) Summary of feature Upstream issue(s) Bootstrap issue(s)
Microsoft Edge

Implement the :dir() pseudo-class from Selectors Level 4

Edge UserVoice idea #12299532 #19984
Microsoft Edge

Implement sticky positioning from CSS Positioned Layout Level 3

Edge UserVoice idea #6263621 #17021
Firefox

Fire a transitioncancel event when a CSS transition is canceled

Mozilla bug #1264125 Mozilla bug #1182856
Firefox

Implement the of <selector-list> clause of the :nth-child() pseudo-class

Mozilla bug #854148 #20143
Firefox

Implement the HTML5 <dialog> element

Mozilla bug #840640 #20175
Chrome

Implement the of <selector-list> clause of the :nth-child() pseudo-class

Chromium issue #304163 #20143
Chrome

Implement the :dir() pseudo-class from Selectors Level 4

Chromium issue #576815 #19984
Chrome

Implement sticky positioning from CSS Positioned Layout Level 3

Chromium issue #231752 #17021
Safari

Implement the :dir() pseudo-class from Selectors Level 4

WebKit bug #64861 #19984
Safari

Implement the HTML5 <dialog> element

WebKit bug #84635 #20175
\ No newline at end of file diff --git a/docs/3.3/components/index.html b/docs/3.3/components/index.html index d9f4526426..3e373ccf25 100644 --- a/docs/3.3/components/index.html +++ b/docs/3.3/components/index.html @@ -724,4 +724,4 @@ <!-- 4:3 aspect ratio --> <div class="embed-responsive embed-responsive-4by3"> <iframe class="embed-responsive-item" src="..."></iframe> -</div>

Wells

Default well

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 large well!
<div class="well well-lg">...</div>
Look, I'm in a small well!
<div class="well well-sm">...</div>
\ No newline at end of file +</div>

Wells

Default well

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 large well!
<div class="well well-lg">...</div>
Look, I'm in a small well!
<div class="well well-sm">...</div>
\ No newline at end of file diff --git a/docs/3.3/css/index.html b/docs/3.3/css/index.html index c80bc596ef..0e403fc0a3 100644 --- a/docs/3.3/css/index.html +++ b/docs/3.3/css/index.html @@ -1104,4 +1104,4 @@ To edit settings, press <kbd><kbd>ctrl// Usage .jumbotron { .img-retina("/img/bg-1x.png", "/img/bg-2x.png", 100px, 100px); -}

Using Sass

While Bootstrap is built on Less, it also has an official Sass port. We maintain it in a separate GitHub repository and handle updates with a conversion script.

What's included

Since the Sass port has a separate repo and serves a slightly different audience, the contents of the project differ greatly from the main Bootstrap project. This ensures the Sass port is as compatible with as many Sass-based systems as possible.

Path Description
lib/ Ruby gem code (Sass configuration, Rails and Compass integrations)
tasks/ Converter scripts (turning upstream Less to Sass)
test/ Compilation tests
templates/ Compass package manifest
vendor/assets/ Sass, JavaScript, and font files
Rakefile Internal tasks, such as rake and convert

Visit the Sass port's GitHub repository to see these files in action.

Installation

For information on how to install and use Bootstrap for Sass, consult the GitHub repository readme. It's the most up to date source and includes information for use with Rails, Compass, and standard Sass projects.

Bootstrap for Sass

+}

Using Sass

While Bootstrap is built on Less, it also has an official Sass port. We maintain it in a separate GitHub repository and handle updates with a conversion script.

What's included

Since the Sass port has a separate repo and serves a slightly different audience, the contents of the project differ greatly from the main Bootstrap project. This ensures the Sass port is as compatible with as many Sass-based systems as possible.

Path Description
lib/ Ruby gem code (Sass configuration, Rails and Compass integrations)
tasks/ Converter scripts (turning upstream Less to Sass)
test/ Compilation tests
templates/ Compass package manifest
vendor/assets/ Sass, JavaScript, and font files
Rakefile Internal tasks, such as rake and convert

Visit the Sass port's GitHub repository to see these files in action.

Installation

For information on how to install and use Bootstrap for Sass, consult the GitHub repository readme. It's the most up to date source and includes information for use with Rails, Compass, and standard Sass projects.

Bootstrap for Sass

diff --git a/docs/3.3/getting-started/index.html b/docs/3.3/getting-started/index.html index ac85866294..cdedbf2fe8 100644 --- a/docs/3.3/getting-started/index.html +++ b/docs/3.3/getting-started/index.html @@ -32,7 +32,7 @@ │ ├── js/ │ └── fonts/ └── docs/ - └── examples/

The less/, js/, and fonts/ are the source code for our CSS, JS, and icon fonts (respectively). The dist/ folder includes everything listed in the precompiled download section above. The docs/ folder includes the source code for our documentation, and examples/ of Bootstrap usage. Beyond that, any other included file provides support for packages, license information, and development.

Compiling CSS and JavaScript

Bootstrap uses Grunt for its build system, with convenient methods for working with the framework. It's how we compile our code, run tests, and more.

Installing Grunt

To install Grunt, you must first download and install node.js (which includes npm). npm stands for node packaged modules and is a way to manage development dependencies through node.js.

Then, from the command line:
  1. Install grunt-cli globally with npm install -g grunt-cli.
  2. Navigate to the root /bootstrap/ directory, then run npm install. npm will look at the package.json file and automatically install the necessary local dependencies listed there.

When completed, you'll be able to run the various Grunt commands provided from the command line.

Available Grunt commands

grunt dist (Just compile CSS and JavaScript)

Regenerates the /dist/ directory with compiled and minified CSS and JavaScript files. As a Bootstrap user, this is normally the command you want.

grunt watch (Watch)

Watches the Less source files and automatically recompiles them to CSS whenever you save a change.

grunt test (Run tests)

Runs JSHint and runs the QUnit tests headlessly in PhantomJS.

grunt docs (Build & test the docs assets)

Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via bundle exec jekyll serve.

grunt (Build absolutely everything and run tests)

Compiles and minifies CSS and JavaScript, builds the documentation website, runs the HTML5 validator against the docs, regenerates the Customizer assets, and more. Requires Jekyll. Usually only necessary if you're hacking on Bootstrap itself.

Troubleshooting

Should you encounter problems with installing dependencies or running Grunt commands, first delete the /node_modules/ directory generated by npm. Then, rerun npm install.

Basic template

Start with this basic HTML template, or modify these examples. We hope you'll customize our templates and examples, adapting them to suit your needs.

Copy the HTML below to begin working with a minimal Bootstrap document.

<!DOCTYPE html>
+    └── examples/

The less/, js/, and fonts/ are the source code for our CSS, JS, and icon fonts (respectively). The dist/ folder includes everything listed in the precompiled download section above. The docs/ folder includes the source code for our documentation, and examples/ of Bootstrap usage. Beyond that, any other included file provides support for packages, license information, and development.

Compiling CSS and JavaScript

Bootstrap uses Grunt for its build system, with convenient methods for working with the framework. It's how we compile our code, run tests, and more.

Installing Grunt

To install Grunt, you must first download and install node.js (which includes npm). npm stands for node packaged modules and is a way to manage development dependencies through node.js.

Then, from the command line:
  1. Install grunt-cli globally with npm install -g grunt-cli.
  2. Navigate to the root /bootstrap/ directory, then run npm install. npm will look at the package.json file and automatically install the necessary local dependencies listed there.

When completed, you'll be able to run the various Grunt commands provided from the command line.

Available Grunt commands

grunt dist (Just compile CSS and JavaScript)

Regenerates the /dist/ directory with compiled and minified CSS and JavaScript files. As a Bootstrap user, this is normally the command you want.

grunt watch (Watch)

Watches the Less source files and automatically recompiles them to CSS whenever you save a change.

grunt test (Run tests)

Runs JSHint and runs the QUnit tests headlessly in PhantomJS.

grunt docs (Build & test the docs assets)

Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via bundle exec jekyll serve.

grunt (Build absolutely everything and run tests)

Compiles and minifies CSS and JavaScript, builds the documentation website, runs the HTML5 validator against the docs, regenerates the Customizer assets, and more. Requires Jekyll. Usually only necessary if you're hacking on Bootstrap itself.

Troubleshooting

Should you encounter problems with installing dependencies or running Grunt commands, first delete the /node_modules/ directory generated by npm. Then, rerun npm install.

Basic template

Start with this basic HTML template, or modify these examples. We hope you'll customize our templates and examples, adapting them to suit your needs.

Copy the HTML below to begin working with a minimal Bootstrap document.

<!DOCTYPE html>
 <html lang="en">
   <head>
     <meta charset="utf-8">
@@ -62,7 +62,7 @@
 </html>

Examples

Build on the basic template above with Bootstrap's many components. We encourage you to customize and adapt Bootstrap to suit your individual project's needs.

Get the source code for every example below by downloading the Bootstrap repository. Examples can be found in the docs/examples/ directory.

Using the framework

Starter template example

Starter template

Nothing but the basics: compiled CSS and JavaScript along with a container.

Bootstrap theme example

Bootstrap theme

Load the optional Bootstrap theme for a visually enhanced experience.

Multiple grids example

Grids

Multiple examples of grid layouts with all four tiers, nesting, and more.

Jumbotron example

Jumbotron

Build around the jumbotron with a navbar and some basic grid columns.

Narrow jumbotron example

Narrow jumbotron

Build a more custom page by narrowing the default container and jumbotron.

Navbars in action

Navbar example

Navbar

Super basic template that includes the navbar along with some additional content.

Static top navbar example

Static top navbar

Super basic template with a static top navbar along with some additional content.

Fixed navbar example

Fixed navbar

Super basic template with a fixed top navbar along with some additional content.

Custom components

A one-page template example

Cover

A one-page template for building simple and beautiful home pages.

Carousel example

Carousel

Customize the navbar and carousel, then add some new components.

Blog layout example

Blog

Simple two-column blog layout with custom navigation, header, and type.

Dashboard example

Dashboard

Basic structure for an admin dashboard with fixed sidebar and navbar.

Sign-in page example

Sign-in page

Custom form layout and design for a simple sign in form.

Justified nav example

Justified nav

Create a custom navbar with justified links. Heads up! Not too Safari friendly.

Sticky footer example

Sticky footer

Attach a footer to the bottom of the viewport when the content is shorter than it.

Sticky footer with navbar example

Sticky footer with navbar

Attach a footer to the bottom of the viewport with a fixed navbar at the top.

Experiments

Non-responsive example

Non-responsive Bootstrap

Easily disable the responsiveness of Bootstrap per our docs.

Off-canvas navigation example

Off-canvas

Build a toggleable off-canvas navigation menu for use with Bootstrap.

Tools

Bootlint

Bootlint is the official Bootstrap HTML linter tool. It automatically checks for several common HTML mistakes in webpages that are using Bootstrap in a fairly "vanilla" way. Vanilla Bootstrap's components/widgets require their parts of the DOM to conform to certain structures. Bootlint checks that instances of Bootstrap components have correctly-structured HTML. Consider adding Bootlint to your Bootstrap web development toolchain so that none of the common mistakes slow down your project's development.

Community

Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.

You can also follow @getbootstrap on Twitter for the latest gossip and awesome music videos.

Disabling responsiveness

Bootstrap automatically adapts your pages for various screen sizes. Here's how to disable this feature so your page works like this non-responsive example.

Steps to disable page responsiveness

  1. Omit the viewport <meta> mentioned in the CSS docs
  2. Override the width on the .container for each grid tier with a single width, for example width: 970px !important; Be sure that this comes after the default Bootstrap CSS. You can optionally avoid the !important with media queries or some selector-fu.
  3. If using navbars, remove all navbar collapsing and expanding behavior.
  4. For grid layouts, use .col-xs-* classes in addition to, or in place of, the medium/large ones. Don't worry, the extra-small device grid scales to all resolutions.

You'll still need Respond.js for IE8 (since our media queries are still there and need to be processed). This disables the "mobile site" aspects of Bootstrap.

Bootstrap template with responsiveness disabled

We've applied these steps to an example. Read its source code to see the specific changes implemented.

View non-responsive example

Migrating from v2.x to v3.x

Looking to migrate from an older version of Bootstrap to v3.x? Check out our migration guide.

Browser and device support

Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, though fully functional, renderings of certain components.

Supported browsers

Specifically, we support the latest versions of the following browsers and platforms.

Alternative browsers which use the latest version of WebKit, Blink, or Gecko, whether directly or via the platform's web view API, are not explicitly supported. However, Bootstrap should (in most cases) display and function correctly in these browsers as well. More specific support information is provided below.

Mobile devices

Generally speaking, Bootstrap supports the latest versions of each major platform's default browsers. Note that proxy browsers (such as Opera Mini, Opera Mobile's Turbo mode, UC Browser Mini, Amazon Silk) are not supported.

Chrome Firefox Safari
Android Supported Supported N/A
iOS Supported Supported Supported

Desktop browsers

Similarly, the latest versions of most desktop browsers are supported.

Chrome Firefox Internet Explorer Opera Safari
Mac Supported Supported N/A Supported Supported
Windows Supported Supported Supported Supported Not supported

On Windows, we support Internet Explorer 8-11.

For Firefox, in addition to the latest normal stable release, we also support the latest Extended Support Release (ESR) version of Firefox.

Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 7, as well as Microsoft Edge, though they are not officially supported.

For a list of some of the browser bugs that Bootstrap has to grapple with, see our Wall of browser bugs.

Internet Explorer 8 and 9

Internet Explorer 8 and 9 are also supported, however, please be aware that some CSS3 properties and HTML5 elements are not fully supported by these browsers. In addition, Internet Explorer 8 requires the use of Respond.js to enable media query support.

Feature Internet Explorer 8 Internet Explorer 9
border-radius Not supported Supported
box-shadow Not supported Supported
transform Not supported Supported, with -ms prefix
transition Not supported
placeholder Not supported

Visit Can I use... for details on browser support of CSS3 and HTML5 features.

Internet Explorer 8 and Respond.js

Beware of the following caveats when using Respond.js in your development and production environments for Internet Explorer 8.

Respond.js and cross-domain CSS

Using Respond.js with CSS hosted on a different (sub)domain (for example, on a CDN) requires some additional setup. See the Respond.js docs for details.

Respond.js and file://

Due to browser security rules, Respond.js doesn't work with pages viewed via the file:// protocol (like when opening a local HTML file). To test responsive features in IE8, view your pages over HTTP(S). See the Respond.js docs for details.

Respond.js and @import

Respond.js doesn't work with CSS that's referenced via @import. In particular, some Drupal configurations are known to use @import. See the Respond.js docs for details.

Internet Explorer 8 and box-sizing

IE8 does not fully support box-sizing: border-box; when combined with min-width, max-width, min-height, or max-height. For that reason, as of v3.0.1, we no longer use max-width on .containers.

Internet Explorer 8 and @font-face

IE8 has some issues with @font-face when combined with :before. Bootstrap uses that combination with its Glyphicons. If a page is cached, and loaded without the mouse over the window (i.e. hit the refresh button or load something in an iframe) then the page gets rendered before the font loads. Hovering over the page (body) will show some of the icons and hovering over the remaining icons will show those as well. See issue #13863 for details.

IE Compatibility modes

Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate <meta> tag in your pages:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

Confirm the document mode by opening the debugging tools: press F12 and check the "Document Mode".

This tag is included in all of Bootstrap's documentation and examples to ensure the best rendering possible in each supported version of Internet Explorer.

See this StackOverflow question for more information.

Internet Explorer 10 in Windows 8 and Windows Phone 8

Internet Explorer 10 doesn't differentiate device width from viewport width, and thus doesn't properly apply the media queries in Bootstrap's CSS. Normally you'd just add a quick snippet of CSS to fix this:

@-ms-viewport       { width: device-width; }

However, this doesn't work for devices running Windows Phone 8 versions older than Update 3 (a.k.a. GDR3), as it causes such devices to show a mostly desktop view instead of narrow "phone" view. To address this, you'll need to include the following CSS and JavaScript to work around the bug.

@-ms-viewport       { width: device-width; }
 @-o-viewport        { width: device-width; }
 @viewport           { width: device-width; }
// Copyright 2014-2015 Twitter, Inc.
-// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+// Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
   var msViewportStyle = document.createElement('style')
   msViewportStyle.appendChild(
@@ -129,4 +129,4 @@
   <div class="container" id="content" tabindex="-1">
     <!-- The main page content -->
   </div>
-</body>

Nested headings

When nesting headings (<h1> - <h6>), your primary document header should be an <h1>. Subsequent headings should make logical use of <h2> - <h6> such that screen readers can construct a table of contents for your pages.

Learn more at HTML CodeSniffer and Penn State's AccessAbility.

Color contrast

Currently, some of the default color combinations available in Bootstrap (such as the various styled button classes, some of the code highlighting colors used for basic code blocks, the .bg-primary contextual background helper class, and the default link color when used on a white background) have a low contrast ratio (below the recommended ratio of 4.5:1). This can cause problems to users with low vision or who are color blind. These default colors may need to be modified to increase their contrast and legibility.

Additional resources

License FAQs

Bootstrap is released under the MIT license and is copyright 2016 Twitter. Boiled down to smaller chunks, it can be described with the following conditions.

It requires you to:

It permits you to:

It forbids you to:

It does not require you to:

The full Bootstrap license is located in the project repository for more information.

Translations

Community members have translated Bootstrap's documentation into various languages. None are officially supported and they may not always be up to date.

We don't help organize or host translations, we just link to them.

Finished a new or better translation? Open a pull request to add it to our list.

\ No newline at end of file +</body>

Nested headings

When nesting headings (<h1> - <h6>), your primary document header should be an <h1>. Subsequent headings should make logical use of <h2> - <h6> such that screen readers can construct a table of contents for your pages.

Learn more at HTML CodeSniffer and Penn State's AccessAbility.

Color contrast

Currently, some of the default color combinations available in Bootstrap (such as the various styled button classes, some of the code highlighting colors used for basic code blocks, the .bg-primary contextual background helper class, and the default link color when used on a white background) have a low contrast ratio (below the recommended ratio of 4.5:1). This can cause problems to users with low vision or who are color blind. These default colors may need to be modified to increase their contrast and legibility.

Additional resources

License FAQs

Bootstrap is released under the MIT license and is copyright 2016 Twitter. Boiled down to smaller chunks, it can be described with the following conditions.

It requires you to:

It permits you to:

It forbids you to:

It does not require you to:

The full Bootstrap license is located in the project repository for more information.

Translations

Community members have translated Bootstrap's documentation into various languages. None are officially supported and they may not always be up to date.

We don't help organize or host translations, we just link to them.

Finished a new or better translation? Open a pull request to add it to our list.

\ No newline at end of file diff --git a/docs/3.3/index.html b/docs/3.3/index.html index 6e338d0fcc..216e53bf9b 100644 --- a/docs/3.3/index.html +++ b/docs/3.3/index.html @@ -130,7 +130,7 @@

Designed and built with all the love in the world by @mdo and @fat. Maintained by the core team with the help of our contributors.

-

Code licensed MIT, docs CC BY 3.0.

+

Code licensed MIT, docs CC BY 3.0.

diff --git a/docs/3.3/javascript/index.html b/docs/3.3/javascript/index.html index 3e942ea79a..58c4bbdf1a 100644 --- a/docs/3.3/javascript/index.html +++ b/docs/3.3/javascript/index.html @@ -405,4 +405,4 @@ sagittis lacus vel augue laoreet rutrum faucibus.">} })

Options

Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-, as in data-offset-top="200".

Name type default description
offset number | function | object 10 Pixels to offset from screen when calculating position of scroll. If a single number is provided, the offset will be applied in both top and bottom directions. To provide a unique, bottom and top offset just provide an object offset: { top: 10 } or offset: { top: 10, bottom: 5 }. Use a function when you need to dynamically calculate an offset.
target selector | node | jQuery element the window object Specifies the target element of the affix.

Methods

.affix(options)

Activates your content as affixed content. Accepts an optional options object.

$('#myAffix').affix({
   offset: 15
-})

.affix('checkPosition')

Recalculates the state of the affix based on the dimensions, position, and scroll position of the relevant elements. The .affix, .affix-top, and .affix-bottom classes are added to or removed from the affixed content according to the new state. This method needs to be called whenever the dimensions of the affixed content or the target element are changed, to ensure correct positioning of the affixed content.

$('#myAffix').affix('checkPosition')

Events

Bootstrap's affix plugin exposes a few events for hooking into affix functionality.

Event Type Description
affix.bs.affix This event fires immediately before the element has been affixed.
affixed.bs.affix This event is fired after the element has been affixed.
affix-top.bs.affix This event fires immediately before the element has been affixed-top.
affixed-top.bs.affix This event is fired after the element has been affixed-top.
affix-bottom.bs.affix This event fires immediately before the element has been affixed-bottom.
affixed-bottom.bs.affix This event is fired after the element has been affixed-bottom.
\ No newline at end of file +})

.affix('checkPosition')

Recalculates the state of the affix based on the dimensions, position, and scroll position of the relevant elements. The .affix, .affix-top, and .affix-bottom classes are added to or removed from the affixed content according to the new state. This method needs to be called whenever the dimensions of the affixed content or the target element are changed, to ensure correct positioning of the affixed content.

$('#myAffix').affix('checkPosition')

Events

Bootstrap's affix plugin exposes a few events for hooking into affix functionality.

Event Type Description
affix.bs.affix This event fires immediately before the element has been affixed.
affixed.bs.affix This event is fired after the element has been affixed.
affix-top.bs.affix This event fires immediately before the element has been affixed-top.
affixed-top.bs.affix This event is fired after the element has been affixed-top.
affix-bottom.bs.affix This event fires immediately before the element has been affixed-bottom.
affixed-bottom.bs.affix This event is fired after the element has been affixed-bottom.
\ No newline at end of file diff --git a/docs/3.3/migration/index.html b/docs/3.3/migration/index.html index 4dbeeb6dd4..8cf56a9186 100644 --- a/docs/3.3/migration/index.html +++ b/docs/3.3/migration/index.html @@ -1 +1 @@ - Migrating to v3.x · Bootstrap
Skip to main content
Bootstrap 4 is here!

Migrating to v3.x

Guidance on how to upgrade from Bootstrap v2.x to v3.x with emphasis on major changes, what's new, and what's been removed.

Migrating from 2.x to 3.0

Bootstrap 3 is not backwards compatible with v2.x. Use this section as a general guide to upgrading from v2.x to v3.0. For a broader overview, see what's new in the v3.0 release announcement.

Major class changes

This table shows the style changes between v2.x and v3.0.

Bootstrap 2.x Bootstrap 3.0
.row-fluid .row
.span* .col-md-*
.offset* .col-md-offset-*
.brand .navbar-brand
.navbar .nav .navbar-nav
.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 .alert .alert-warning
.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.
Non-bar-level progress colors .progress-info .progress-success .progress-warning .progress-danger Use .progress-bar-* on the .progress-bar instead.

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-control class on the element to style.
  • Text-based form controls with the .form-control class applied are now 100% wide by default. Wrap inputs inside <div class="col-*"></div> to control input widths.
  • .badge no longer has contextual (-success,-primary,etc..) classes.
  • .btn must also use .btn-default to get the "default" button.
  • .row is now fluid.
  • Images are no longer responsive by default. Use .img-responsive for fluid <img> size.
  • The icons, now .glyphicon, are now font based. Icons also require a base and icon class (e.g. .glyphicon .glyphicon-asterisk).
  • Typeahead has been dropped, in favor of using Twitter Typeahead.
  • Modal markup has changed significantly. The .modal-header, .modal-body, and .modal-footer sections are now wrapped in .modal-content and .modal-dialog for better mobile styling and behavior. Also, you should no longer apply .hide to .modal in your markup.
  • As of v3.1.0, the HTML loaded by the remote modal 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.
  • The checkbox and radio features of the button.js plugin now both use data-toggle="buttons" instead of data-toggle="buttons-checkbox" or data-toggle="buttons-radio" in their markup.
  • JavaScript events are namespaced. For example, to handle the modal "show" event, use 'show.bs.modal'. For tabs "shown" use 'shown.bs.tab', etc.

For more information on upgrading to v3.0, and code snippets from the community, see Bootply.

\ No newline at end of file + Migrating to v3.x · Bootstrap
Skip to main content
Bootstrap 4 is here!

Migrating to v3.x

Guidance on how to upgrade from Bootstrap v2.x to v3.x with emphasis on major changes, what's new, and what's been removed.

Migrating from 2.x to 3.0

Bootstrap 3 is not backwards compatible with v2.x. Use this section as a general guide to upgrading from v2.x to v3.0. For a broader overview, see what's new in the v3.0 release announcement.

Major class changes

This table shows the style changes between v2.x and v3.0.

Bootstrap 2.x Bootstrap 3.0
.row-fluid .row
.span* .col-md-*
.offset* .col-md-offset-*
.brand .navbar-brand
.navbar .nav .navbar-nav
.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 .alert .alert-warning
.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.
Non-bar-level progress colors .progress-info .progress-success .progress-warning .progress-danger Use .progress-bar-* on the .progress-bar instead.

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-control class on the element to style.
  • Text-based form controls with the .form-control class applied are now 100% wide by default. Wrap inputs inside <div class="col-*"></div> to control input widths.
  • .badge no longer has contextual (-success,-primary,etc..) classes.
  • .btn must also use .btn-default to get the "default" button.
  • .row is now fluid.
  • Images are no longer responsive by default. Use .img-responsive for fluid <img> size.
  • The icons, now .glyphicon, are now font based. Icons also require a base and icon class (e.g. .glyphicon .glyphicon-asterisk).
  • Typeahead has been dropped, in favor of using Twitter Typeahead.
  • Modal markup has changed significantly. The .modal-header, .modal-body, and .modal-footer sections are now wrapped in .modal-content and .modal-dialog for better mobile styling and behavior. Also, you should no longer apply .hide to .modal in your markup.
  • As of v3.1.0, the HTML loaded by the remote modal 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.
  • The checkbox and radio features of the button.js plugin now both use data-toggle="buttons" instead of data-toggle="buttons-checkbox" or data-toggle="buttons-radio" in their markup.
  • JavaScript events are namespaced. For example, to handle the modal "show" event, use 'show.bs.modal'. For tabs "shown" use 'shown.bs.tab', etc.

For more information on upgrading to v3.0, and code snippets from the community, see Bootply.

\ No newline at end of file diff --git a/docs/4.0/examples/index.html b/docs/4.0/examples/index.html index 6648d0864c..a84b39adca 100644 --- a/docs/4.0/examples/index.html +++ b/docs/4.0/examples/index.html @@ -377,7 +377,7 @@
  • About
  • Designed and built with all the love in the world by @mdo and @fat. Maintained by the core team with the help of our contributors.

    -

    Currently v4.0.0. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.0.0. Code licensed MIT, docs CC BY 3.0.

    diff --git a/docs/4.1/examples/index.html b/docs/4.1/examples/index.html index 6f6149df2c..bb2e0d793e 100644 --- a/docs/4.1/examples/index.html +++ b/docs/4.1/examples/index.html @@ -371,7 +371,7 @@
  • About
  • Designed and built with all the love in the world by @mdo and @fat. Maintained by the core team with the help of our contributors.

    -

    Currently v4.1.3. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.1.3. Code licensed MIT, docs CC BY 3.0.

    diff --git a/docs/4.2/examples/index.html b/docs/4.2/examples/index.html index d0673c81c4..6f067369be 100644 --- a/docs/4.2/examples/index.html +++ b/docs/4.2/examples/index.html @@ -408,7 +408,7 @@
  • About
  • Designed and built with all the love in the world by @mdo and @fat. Maintained by the core team with the help of our contributors.

    -

    Currently v4.2.1. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.2.1. Code licensed MIT, docs CC BY 3.0.

    diff --git a/docs/4.3/examples/index.html b/docs/4.3/examples/index.html index 0bfdbd94d8..30f20e5929 100644 --- a/docs/4.3/examples/index.html +++ b/docs/4.3/examples/index.html @@ -410,7 +410,7 @@
  • About
  • Designed and built with all the love in the world by the Bootstrap team with the help of our contributors.

    -

    Currently v4.3.1. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.3.1. Code licensed MIT, docs CC BY 3.0.

    diff --git a/docs/4.4/examples/index.html b/docs/4.4/examples/index.html index 0d314f3e1c..59c20f154a 100644 --- a/docs/4.4/examples/index.html +++ b/docs/4.4/examples/index.html @@ -414,7 +414,7 @@
  • About
  • Designed and built with all the love in the world by the Bootstrap team with the help of our contributors.

    -

    Currently v4.4.1. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.4.1. Code licensed MIT, docs CC BY 3.0.

    diff --git a/docs/4.5/examples/index.html b/docs/4.5/examples/index.html index 10a4f829d2..3092de92d6 100644 --- a/docs/4.5/examples/index.html +++ b/docs/4.5/examples/index.html @@ -453,7 +453,7 @@
  • About
  • Designed and built with all the love in the world by the Bootstrap team with the help of our contributors.

    -

    Currently v4.5.0. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.5.0. Code licensed MIT, docs CC BY 3.0.

    diff --git a/docs/versions/index.html b/docs/versions/index.html index 5be77ab5e1..f388d384bf 100644 --- a/docs/versions/index.html +++ b/docs/versions/index.html @@ -399,7 +399,7 @@
  • About
  • Designed and built with all the love in the world by the Bootstrap team with the help of our contributors.

    -

    Currently v4.5.0. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.5.0. Code licensed MIT, docs CC BY 3.0.

    diff --git a/index.html b/index.html index cae2ce8544..1b769b3a0b 100644 --- a/index.html +++ b/index.html @@ -269,7 +269,7 @@ gem install bootstrap -v 4.5.0About

    Designed and built with all the love in the world by the Bootstrap team with the help of our contributors.

    -

    Currently v4.5.0. Code licensed MIT, docs CC BY 3.0.

    +

    Currently v4.5.0. Code licensed MIT, docs CC BY 3.0.