About
Learn about the project's history, meet the maintaining teams, and find out how to use the Bootstrap brand.
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 @@ -
Learn about the project's history, meet the maintaining teams, and find out how to use the Bootstrap brand.
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.
Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.
Get involved with Bootstrap development by opening an issue or submitting a pull request. Read our contributing guidelines for information on how we develop.
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.
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.
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.
Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.
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.
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.
Learn about the project's history, meet the maintaining teams, and find out how to use the Bootstrap brand.
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.
Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.
Get involved with Bootstrap development by opening an issue or submitting a pull request. Read our contributing guidelines for information on how we develop.
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.
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.
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.
Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.
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.
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.
A list of the browser bugs that Bootstrap is currently grappling with.
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 | Edge issue #6793560 | #18692 |
Microsoft Edge | Hovered element still remains in | Edge issue #5381673 | #14211 |
Microsoft Edge | When hovering over a | Edge issue #817822 | #14528 |
Microsoft Edge | CSS | Edge issue #3342037 | #16671 |
Microsoft Edge |
| Edge issue #5865620 | #18504 |
Microsoft Edge |
| 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 | Edge issue #7787318 | #19670 |
Firefox |
| 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 |
| 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 | Mozilla bug #577785 | #19670 |
Firefox |
| Mozilla bug #1282363 | #20161 |
Firefox (Windows) | Right border of | 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 | Chromium issue #595210 | #17338 |
Chrome (OS X) | Clicking above | Chromium issue #419108 | Offshoot of #8350 & Chromium issue #337668 |
Chrome | CSS infinite linear animation with alpha transparency leaks memory. | Chromium issue #429375 | #14409 |
Chrome |
| Chromium issue #465274 | #16022 |
Chrome |
| Chromium issue #534750 | #17438, #14237 |
Chrome | Clicking scrollbar in | Chromium issue #597642 | #19810 |
Chrome | Don’t make | 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 |
| WebKit bug #156684 | #17403 |
Safari (OS X) |
| WebKit bug #156687 | #17403 |
Safari (OS X) | Weird button behavior with some | 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 | WebKit bug #138192, Apple Safari Radar #19435018 | #14868 |
Safari (iPad) |
| WebKit bug #150079, Apple Safari Radar #23082521 | #14975 |
Safari (iOS) |
| 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 | WebKit bug #148061, Apple Safari Radar #22299624 | #16988 |
Safari (iOS) |
| WebKit bug #139848, Apple Safari Radar #19434878 | #11266, #13098 |
Safari (iOS) | Tapping on | WebKit bug #151933 | #16028 |
Safari (iOS) |
| WebKit bug #153056 | #18859 |
Safari (iOS) | Tapping into an | WebKit bug #153224, Apple Safari Radar #24235301 | #17497 |
Safari (iOS) |
| WebKit bug #153852 | #14839 |
Safari (iOS) | Scroll gesture in text field in | WebKit bug #153856 | #14839 |
Safari (iOS) | Tapping from one | WebKit bug #158276 | #19927 |
Safari (iOS) | Modal with | WebKit bug #158342 | #17695 |
Safari (iOS) | Don’t make | WebKit bug #158517 | #12832 |
Safari (iPad Pro) | Rendering of descendants of | WebKit bug #152637, Apple Safari Radar #24030853 | #18738 |
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 | Edge UserVoice idea #12299532 | #19984 |
Microsoft Edge | Implement sticky positioning from CSS Positioned Layout Level 3 | Edge UserVoice idea #6263621 | #17021 |
Firefox | Fire a | Mozilla bug #1264125 | Mozilla bug #1182856 |
Firefox | Implement the | Mozilla bug #854148 | #20143 |
Firefox | Implement the HTML5 | Mozilla bug #840640 | #20175 |
Chrome | Implement the | Chromium issue #304163 | #20143 |
Chrome | Implement the | Chromium issue #576815 | #19984 |
Chrome | Implement sticky positioning from CSS Positioned Layout Level 3 | Chromium issue #231752 | #17021 |
Safari | Implement the | WebKit bug #64861 | #19984 |
Safari | Implement the HTML5 | WebKit bug #84635 | #20175 |
A list of the browser bugs that Bootstrap is currently grappling with.
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 | Edge issue #6793560 | #18692 |
Microsoft Edge | Hovered element still remains in | Edge issue #5381673 | #14211 |
Microsoft Edge | When hovering over a | Edge issue #817822 | #14528 |
Microsoft Edge | CSS | Edge issue #3342037 | #16671 |
Microsoft Edge |
| Edge issue #5865620 | #18504 |
Microsoft Edge |
| 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 | Edge issue #7787318 | #19670 |
Firefox |
| 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 |
| 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 | Mozilla bug #577785 | #19670 |
Firefox |
| Mozilla bug #1282363 | #20161 |
Firefox (Windows) | Right border of | 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 | Chromium issue #595210 | #17338 |
Chrome (OS X) | Clicking above | Chromium issue #419108 | Offshoot of #8350 & Chromium issue #337668 |
Chrome | CSS infinite linear animation with alpha transparency leaks memory. | Chromium issue #429375 | #14409 |
Chrome |
| Chromium issue #465274 | #16022 |
Chrome |
| Chromium issue #534750 | #17438, #14237 |
Chrome | Clicking scrollbar in | Chromium issue #597642 | #19810 |
Chrome | Don’t make | 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 |
| WebKit bug #156684 | #17403 |
Safari (OS X) |
| WebKit bug #156687 | #17403 |
Safari (OS X) | Weird button behavior with some | 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 | WebKit bug #138192, Apple Safari Radar #19435018 | #14868 |
Safari (iPad) |
| WebKit bug #150079, Apple Safari Radar #23082521 | #14975 |
Safari (iOS) |
| 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 | WebKit bug #148061, Apple Safari Radar #22299624 | #16988 |
Safari (iOS) |
| WebKit bug #139848, Apple Safari Radar #19434878 | #11266, #13098 |
Safari (iOS) | Tapping on | WebKit bug #151933 | #16028 |
Safari (iOS) |
| WebKit bug #153056 | #18859 |
Safari (iOS) | Tapping into an | WebKit bug #153224, Apple Safari Radar #24235301 | #17497 |
Safari (iOS) |
| WebKit bug #153852 | #14839 |
Safari (iOS) | Scroll gesture in text field in | WebKit bug #153856 | #14839 |
Safari (iOS) | Tapping from one | WebKit bug #158276 | #19927 |
Safari (iOS) | Modal with | WebKit bug #158342 | #17695 |
Safari (iOS) | Don’t make | WebKit bug #158517 | #12832 |
Safari (iPad Pro) | Rendering of descendants of | WebKit bug #152637, Apple Safari Radar #24030853 | #18738 |
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 | Edge UserVoice idea #12299532 | #19984 |
Microsoft Edge | Implement sticky positioning from CSS Positioned Layout Level 3 | Edge UserVoice idea #6263621 | #17021 |
Firefox | Fire a | Mozilla bug #1264125 | Mozilla bug #1182856 |
Firefox | Implement the | Mozilla bug #854148 | #20143 |
Firefox | Implement the HTML5 | Mozilla bug #840640 | #20175 |
Chrome | Implement the | Chromium issue #304163 | #20143 |
Chrome | Implement the | Chromium issue #576815 | #19984 |
Chrome | Implement sticky positioning from CSS Positioned Layout Level 3 | Chromium issue #231752 | #17021 |
Safari | Implement the | WebKit bug #64861 | #19984 |
Safari | Implement the HTML5 | WebKit bug #84635 | #20175 |
Use the well as a simple effect on an element to give it an inset effect.
Control padding and rounded corners with two optional modifier classes.
Use the well as a simple effect on an element to give it an inset effect.
Control padding and rounded corners with two optional modifier classes.
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.
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.
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.
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.
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.
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.
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.
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.
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:grunt-cli
globally with npm install -g grunt-cli
./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.
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.
Should you encounter problems with installing dependencies or running Grunt commands, first delete the /node_modules/
directory generated by npm. Then, rerun npm install
.
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.
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.
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.
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:grunt-cli
globally with npm install -g grunt-cli
./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.
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.
Should you encounter problems with installing dependencies or running Grunt commands, first delete the /node_modules/
directory generated by npm. Then, rerun npm install
.
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.
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.
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.
Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.
irc.freenode.net
server, in the ##bootstrap channel.twitter-bootstrap-3
.bootstrap
on packages which modify or add to the functionality of Bootstrap when distributing through npm or similar delivery mechanisms for maximum discoverability.You can also follow @getbootstrap on Twitter for the latest gossip and awesome music videos.
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.
<meta>
mentioned in the CSS docswidth
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..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.
We've applied these steps to an example. Read its source code to see the specific changes implemented.
Looking to migrate from an older version of Bootstrap to v3.x? Check out our migration guide.
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.
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.
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 |
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 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.
Beware of the following caveats when using Respond.js in your development and production environments for Internet Explorer 8.
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.
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.
@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.
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 .container
s.
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.
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:
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 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:
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.
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.
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.
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.
The full Bootstrap license is located in the project repository for more information.
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.
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.
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.
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.
The full Bootstrap license is located in the project repository for more information.
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.
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 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. |
.affix(options)
Activates your content as affixed content. Accepts an optional options object
.
.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.
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. |
.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.
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. |
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.
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.
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 |
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 |
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-group s 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. |
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:
.form-control
class on the element to style..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..img-responsive
for fluid <img>
size..glyphicon
, are now font based. Icons also require a base and icon class (e.g. .glyphicon .glyphicon-asterisk
)..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.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.data-toggle="buttons"
instead of data-toggle="buttons-checkbox"
or data-toggle="buttons-radio"
in their markup.'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.
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.
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.
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 |
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 |
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-group s 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. |
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:
.form-control
class on the element to style..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..img-responsive
for fluid <img>
size..glyphicon
, are now font based. Icons also require a base and icon class (e.g. .glyphicon .glyphicon-asterisk
)..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.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.data-toggle="buttons"
instead of data-toggle="buttons-checkbox"
or data-toggle="buttons-radio"
in their markup.'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.
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 @@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 @@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 @@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 @@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 @@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 @@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.0Designed and built with all the love in the world by the Bootstrap team with the help of our contributors.
- +