Merge branch 'master' into pr/15278

Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/assets/js/customize.min.js
	docs/assets/js/raw-files.min.js
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
This commit is contained in:
Mark Otto 2015-01-18 12:24:29 -08:00
commit 1bf1ba7103
141 changed files with 1995 additions and 1604 deletions

View File

@ -197,7 +197,10 @@ included in the project:
with a clear title and description against the `master` branch. with a clear title and description against the `master` branch.
**IMPORTANT**: By submitting a patch, you agree to allow the project owners to **IMPORTANT**: By submitting a patch, you agree to allow the project owners to
license your work under the terms of the [MIT License](LICENSE). license your work under the terms of the [MIT License](LICENSE) (if it
includes code changes) and under the terms of the
[Creative Commons Attribution 3.0 Unported License](docs/LICENSE)
(if it includes documentation changes).
### Pull request bots ### Pull request bots
@ -240,6 +243,7 @@ Run `grunt test` before committing to ensure your changes follow our coding stan
## License ## License
By contributing your code, you agree to license your contribution under the [MIT license](LICENSE). By contributing your code, you agree to license your contribution under the [MIT License](LICENSE).
By contributing to the documentation, you agree to license your contribution under the [Creative Commons Attribution 3.0 Unported License](docs/LICENSE).
Prior to v3.1.0, Bootstrap was released under the Apache License v2.0. Prior to v3.1.0, Bootstrap's code was released under the Apache License v2.0.

View File

@ -1,7 +1,7 @@
/*! /*!
* Bootstrap's Gruntfile * Bootstrap's Gruntfile
* http://getbootstrap.com * http://getbootstrap.com
* Copyright 2013-2014 Twitter, Inc. * Copyright 2013-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -18,6 +18,7 @@ module.exports = function (grunt) {
var fs = require('fs'); var fs = require('fs');
var path = require('path'); var path = require('path');
var npmShrinkwrap = require('npm-shrinkwrap'); var npmShrinkwrap = require('npm-shrinkwrap');
var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js'); var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
var getLessVarsData = function () { var getLessVarsData = function () {
var filePath = path.join(__dirname, 'less/variables.less'); var filePath = path.join(__dirname, 'less/variables.less');
@ -224,7 +225,7 @@ module.exports = function (grunt) {
options: { options: {
compatibility: 'ie8', compatibility: 'ie8',
keepSpecialComments: '*', keepSpecialComments: '*',
noAdvanced: true advanced: false
}, },
minifyCore: { minifyCore: {
src: 'dist/css/<%= pkg.name %>.css', src: 'dist/css/<%= pkg.name %>.css',
@ -370,8 +371,9 @@ module.exports = function (grunt) {
all: { all: {
options: { options: {
build: process.env.TRAVIS_JOB_ID, build: process.env.TRAVIS_JOB_ID,
concurrency: 10, throttled: 10,
maxRetries: 3, maxRetries: 3,
maxPollRetries: 4,
urls: ['http://127.0.0.1:3000/js/tests/index.html'], urls: ['http://127.0.0.1:3000/js/tests/index.html'],
browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
} }
@ -382,7 +384,27 @@ module.exports = function (grunt) {
npmUpdate: { npmUpdate: {
command: 'npm update' command: 'npm update'
} }
},
compress: {
main: {
options: {
archive: 'bootstrap-<%= pkg.version %>-dist.zip',
mode: 'zip',
level: 9,
pretty: true
},
files: [
{
expand: true,
cwd: 'dist/',
src: ['**'],
dest: 'bootstrap-<%= pkg.version %>-dist'
}
]
}
} }
}); });
@ -444,6 +466,8 @@ module.exports = function (grunt) {
// This can be overzealous, so its changes should always be manually reviewed! // This can be overzealous, so its changes should always be manually reviewed!
grunt.registerTask('change-version-number', 'sed'); grunt.registerTask('change-version-number', 'sed');
grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); });
// task for building customizer // task for building customizer
grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']); grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']);
grunt.registerTask('build-customizer-html', 'jade'); grunt.registerTask('build-customizer-html', 'jade');
@ -463,9 +487,9 @@ module.exports = function (grunt) {
grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']); grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']);
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']); grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-customizer']); grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
grunt.registerTask('docs-github', ['jekyll:github']); grunt.registerTask('prep-release', ['jekyll:github', 'compress']);
// Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json). // Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
// This task should be run and the updated file should be committed whenever Bootstrap's dependencies change. // This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2011-2014 Twitter, Inc Copyright (c) 2011-2015 Twitter, Inc
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,8 +1,8 @@
# [Bootstrap](http://getbootstrap.com) # [Bootstrap](http://getbootstrap.com)
[![Bower version](https://badge.fury.io/bo/bootstrap.svg)](http://badge.fury.io/bo/bootstrap) ![Bower version](https://img.shields.io/bower/v/bootstrap.svg?style=flat)
[![npm version](https://badge.fury.io/js/bootstrap.svg)](http://badge.fury.io/js/bootstrap) [![npm version](https://img.shields.io/npm/v/bootstrap.svg?style=flat)](https://www.npmjs.com/package/bootstrap)
[![Build Status](https://secure.travis-ci.org/twbs/bootstrap.svg?branch=master)](https://travis-ci.org/twbs/bootstrap) [![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg?style=flat)](https://travis-ci.org/twbs/bootstrap)
[![devDependency Status](https://david-dm.org/twbs/bootstrap/dev-status.svg)](https://david-dm.org/twbs/bootstrap#info=devDependencies) [![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg?style=flat)](https://david-dm.org/twbs/bootstrap#info=devDependencies)
[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap) [![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community. Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community.
@ -39,8 +39,10 @@ Within the download you'll find the following directories and files, logically g
bootstrap/ bootstrap/
├── css/ ├── css/
│ ├── bootstrap.css │ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css │ ├── bootstrap.min.css
│ ├── bootstrap-theme.css │ ├── bootstrap-theme.css
│ ├── bootstrap-theme.css.map
│ └── bootstrap-theme.min.css │ └── bootstrap-theme.min.css
├── js/ ├── js/
│ ├── bootstrap.js │ ├── bootstrap.js
@ -49,10 +51,11 @@ bootstrap/
├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.ttf
└── glyphicons-halflings-regular.woff ├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
``` ```
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). Fonts from Glyphicons are included, as is the optional Bootstrap theme. We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/chrome-developer-tools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.
@ -126,4 +129,4 @@ For transparency into our release cycle and in striving to maintain backward com
## Copyright and license ## Copyright and license
Code and documentation copyright 2011-2014 Twitter, Inc. 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-2015 Twitter, Inc. 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).

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.1 (http://getbootstrap.com) * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -63,6 +63,7 @@
background-color: #e0e0e0; background-color: #e0e0e0;
border-color: #dbdbdb; border-color: #dbdbdb;
} }
.btn-default.disabled,
.btn-default:disabled, .btn-default:disabled,
.btn-default[disabled] { .btn-default[disabled] {
background-color: #e0e0e0; background-color: #e0e0e0;
@ -88,6 +89,7 @@
background-color: #265a88; background-color: #265a88;
border-color: #245580; border-color: #245580;
} }
.btn-primary.disabled,
.btn-primary:disabled, .btn-primary:disabled,
.btn-primary[disabled] { .btn-primary[disabled] {
background-color: #265a88; background-color: #265a88;
@ -113,6 +115,7 @@
background-color: #419641; background-color: #419641;
border-color: #3e8f3e; border-color: #3e8f3e;
} }
.btn-success.disabled,
.btn-success:disabled, .btn-success:disabled,
.btn-success[disabled] { .btn-success[disabled] {
background-color: #419641; background-color: #419641;
@ -138,6 +141,7 @@
background-color: #2aabd2; background-color: #2aabd2;
border-color: #28a4c9; border-color: #28a4c9;
} }
.btn-info.disabled,
.btn-info:disabled, .btn-info:disabled,
.btn-info[disabled] { .btn-info[disabled] {
background-color: #2aabd2; background-color: #2aabd2;
@ -163,6 +167,7 @@
background-color: #eb9316; background-color: #eb9316;
border-color: #e38d13; border-color: #e38d13;
} }
.btn-warning.disabled,
.btn-warning:disabled, .btn-warning:disabled,
.btn-warning[disabled] { .btn-warning[disabled] {
background-color: #eb9316; background-color: #eb9316;
@ -188,6 +193,7 @@
background-color: #c12e2a; background-color: #c12e2a;
border-color: #b92c28; border-color: #b92c28;
} }
.btn-danger.disabled,
.btn-danger:disabled, .btn-danger:disabled,
.btn-danger[disabled] { .btn-danger[disabled] {
background-color: #c12e2a; background-color: #c12e2a;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.1 (http://getbootstrap.com) * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -268,7 +268,7 @@ th {
font-family: 'Glyphicons Halflings'; font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
} }
.glyphicon { .glyphicon {
position: relative; position: relative;
@ -901,12 +901,6 @@ th {
.glyphicon-paste:before { .glyphicon-paste:before {
content: "\e206"; content: "\e206";
} }
.glyphicon-door:before {
content: "\1f6aa";
}
.glyphicon-key:before {
content: "\1F511";
}
.glyphicon-alert:before { .glyphicon-alert:before {
content: "\e209"; content: "\e209";
} }
@ -2303,7 +2297,7 @@ th {
.table-bordered > thead > tr > td { .table-bordered > thead > tr > td {
border-bottom-width: 2px; border-bottom-width: 2px;
} }
.table-striped > tbody > tr:nth-child(odd) { .table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
.table-hover > tbody > tr:hover { .table-hover > tbody > tr:hover {
@ -2590,13 +2584,21 @@ input[type="search"] {
input[type="date"].input-sm, input[type="date"].input-sm,
input[type="time"].input-sm, input[type="time"].input-sm,
input[type="datetime-local"].input-sm, input[type="datetime-local"].input-sm,
input[type="month"].input-sm { input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px; line-height: 30px;
} }
input[type="date"].input-lg, input[type="date"].input-lg,
input[type="time"].input-lg, input[type="time"].input-lg,
input[type="datetime-local"].input-lg, input[type="datetime-local"].input-lg,
input[type="month"].input-lg { input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 46px; line-height: 46px;
} }
} }
@ -2704,6 +2706,12 @@ textarea.form-group-sm .form-control,
select[multiple].form-group-sm .form-control { select[multiple].form-group-sm .form-control {
height: auto; height: auto;
} }
.form-group-sm .form-control-static {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg { .input-lg {
height: 46px; height: 46px;
padding: 10px 16px; padding: 10px 16px;
@ -2734,6 +2742,12 @@ textarea.form-group-lg .form-control,
select[multiple].form-group-lg .form-control { select[multiple].form-group-lg .form-control {
height: auto; height: auto;
} }
.form-group-lg .form-control-static {
height: 46px;
padding: 10px 16px;
font-size: 18px;
line-height: 1.33;
}
.has-feedback { .has-feedback {
position: relative; position: relative;
} }
@ -4322,6 +4336,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
border-top-right-radius: 0; border-top-right-radius: 0;
} }
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
@ -5066,6 +5081,9 @@ a.thumbnail.active {
overflow: hidden; overflow: hidden;
zoom: 1; zoom: 1;
} }
.media-body {
width: 10000px;
}
.media-object { .media-object {
display: block; display: block;
} }
@ -5293,7 +5311,11 @@ a.list-group-item-danger.active:focus {
font-size: 16px; font-size: 16px;
color: inherit; color: inherit;
} }
.panel-title > a { .panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit; color: inherit;
} }
.panel-footer { .panel-footer {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

61
dist/js/bootstrap.js vendored
View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.1 (http://getbootstrap.com) * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -9,6 +9,7 @@ if (typeof jQuery === 'undefined') {
} }
+function ($) { +function ($) {
'use strict';
var version = $.fn.jquery.split(' ')[0].split('.') var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
@ -19,7 +20,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: transition.js v3.3.1 * Bootstrap: transition.js v3.3.1
* http://getbootstrap.com/javascript/#transitions * http://getbootstrap.com/javascript/#transitions
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -79,7 +80,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: alert.js v3.3.1 * Bootstrap: alert.js v3.3.1
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -174,7 +175,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: button.js v3.3.1 * Bootstrap: button.js v3.3.1
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -291,7 +292,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: carousel.js v3.3.1 * Bootstrap: carousel.js v3.3.1
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -529,7 +530,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: collapse.js v3.3.1 * Bootstrap: collapse.js v3.3.1
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -741,7 +742,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: dropdown.js v3.3.1 * Bootstrap: dropdown.js v3.3.1
* http://getbootstrap.com/javascript/#dropdowns * http://getbootstrap.com/javascript/#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -903,7 +904,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: modal.js v3.3.1 * Bootstrap: modal.js v3.3.1
* http://getbootstrap.com/javascript/#modals * http://getbootstrap.com/javascript/#modals
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -1229,7 +1230,7 @@ if (typeof jQuery === 'undefined') {
* http://getbootstrap.com/javascript/#tooltip * http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -1572,10 +1573,10 @@ if (typeof jQuery === 'undefined') {
} }
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
} }
@ -1671,18 +1672,12 @@ if (typeof jQuery === 'undefined') {
function Plugin(option) { function Plugin(option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.tooltip') var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
var selector = options && options.selector
if (!data && option == 'destroy') return if (!data && option == 'destroy') return
if (selector) { if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (!data) $this.data('bs.tooltip', (data = {}))
if (!data[selector]) data[selector] = new Tooltip(this, options)
} else {
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
}
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
} }
@ -1707,7 +1702,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: popover.js v3.3.1 * Bootstrap: popover.js v3.3.1
* http://getbootstrap.com/javascript/#popovers * http://getbootstrap.com/javascript/#popovers
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -1791,18 +1786,12 @@ if (typeof jQuery === 'undefined') {
function Plugin(option) { function Plugin(option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.popover') var data = $this.data('bs.popover')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
var selector = options && options.selector
if (!data && option == 'destroy') return if (!data && option == 'destroy') return
if (selector) { if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
if (!data) $this.data('bs.popover', (data = {}))
if (!data[selector]) data[selector] = new Popover(this, options)
} else {
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
}
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
} }
@ -1827,7 +1816,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: scrollspy.js v3.3.1 * Bootstrap: scrollspy.js v3.3.1
* http://getbootstrap.com/javascript/#scrollspy * http://getbootstrap.com/javascript/#scrollspy
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -2003,7 +1992,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: tab.js v3.3.1 * Bootstrap: tab.js v3.3.1
* http://getbootstrap.com/javascript/#tabs * http://getbootstrap.com/javascript/#tabs
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -2157,7 +2146,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: affix.js v3.3.1 * Bootstrap: affix.js v3.3.1
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */

File diff suppressed because one or more lines are too long

View File

@ -98,26 +98,6 @@
origin: > origin: >
Bootstrap#12078 Bootstrap#12078
-
browser: >
Safari (OS X)
summary: >
Scrollbar clipped in `select[multiple]` with padding.
upstream_bug: >
WebKit#128489
origin: >
Bootstrap#12536
-
browser: >
Chrome
summary: >
`<input type="password">` sporadically causes bad widths on floated elements.
upstream_bug: >
Chromium#377346
origin: >
Bootstrap#13892
- -
browser: > browser: >
Chrome Chrome
@ -128,6 +108,26 @@
origin: > origin: >
Bootstrap#14409 Bootstrap#14409
-
browser: >
Chrome (Windows & Linux)
summary: >
Animation glitch when returning to inactive tab after animations occurred while tab was hidden.
upstream_bug: >
Chromium#449180
origin: >
Bootstrap#15298
-
browser: >
Safari (OS X)
summary: >
Scrollbar clipped in `select[multiple]` with padding.
upstream_bug: >
WebKit#128489, Safari#19208483
origin: >
Bootstrap#12536
- -
browser: > browser: >
Safari (OS X) Safari (OS X)
@ -150,6 +150,26 @@
origin: > origin: >
Bootstrap#9774 Bootstrap#9774
-
browser: >
Safari (OS X)
summary: >
Small font size when printing webpage with fixed-width `.container`.
upstream_bug: >
WebKit#138192, Safari#19435018
origin: >
Bootstrap#14868
-
browser: >
Safari (OS X)
summary: >
Alpha linear-gradient has dark line at its edge.
upstream_bug: >
WebKit#139803, Safari#19434933
origin: >
Bootstrap#15205
- -
browser: > browser: >
Safari (iOS) Safari (iOS)
@ -160,16 +180,6 @@
origin: > origin: >
Bootstrap#14603 Bootstrap#14603
-
browser: >
Safari (OS X)
summary: >
Small font size when printing webpage with fixed-width `.container`.
upstream_bug: >
WebKit#138192
origin: >
Bootstrap#14868
- -
browser: > browser: >
Safari (iOS) Safari (iOS)
@ -182,11 +192,10 @@
- -
browser: > browser: >
Chrome (Windows) Safari (iOS)
summary: > summary: >
Body content can be scrolled even though `overflow: hidden;` is applied to it. `display: block` causes text of temporal `<input>`s to become vertically misaligned
upstream_bug: > upstream_bug: >
Chromium#438064 WebKit#139848, Safari#19434878
origin: > origin: >
Chromium#175502, Bootstrap#11266, Bootstrap#13098
Bootstrap#14972

View File

@ -21,3 +21,7 @@
- name: Heinrich Fenkart - name: Heinrich Fenkart
user: hnrch02 user: hnrch02
gravatar: 0d53f5d3d3d28bd470f394d98f7ef48f gravatar: 0d53f5d3d3d28bd470f394d98f7ef48f
- name: Patrick H. Lauke
user: patrickhlauke
gravatar: 357f279672db832fc41a5a2f36559fcb

View File

@ -4,6 +4,7 @@
- glyphicon-asterisk - glyphicon-asterisk
- glyphicon-plus - glyphicon-plus
- glyphicon-euro - glyphicon-euro
- glyphicon-eur
- glyphicon-minus - glyphicon-minus
- glyphicon-cloud - glyphicon-cloud
- glyphicon-envelope - glyphicon-envelope
@ -207,8 +208,6 @@
- glyphicon-level-up - glyphicon-level-up
- glyphicon-copy - glyphicon-copy
- glyphicon-paste - glyphicon-paste
- glyphicon-door
- glyphicon-key
- glyphicon-alert - glyphicon-alert
- glyphicon-equalizer - glyphicon-equalizer
- glyphicon-king - glyphicon-king

View File

@ -11,7 +11,7 @@
<p>Alerts don't have default classes, only base and modifier classes. A default gray alert doesn't make too much sense, so you're required to specify a type via contextual class. Choose from success, info, warning, or danger.</p> <p>Alerts don't have default classes, only base and modifier classes. A default gray alert doesn't make too much sense, so you're required to specify a type via contextual class. Choose from success, info, warning, or danger.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-alerts">
<div class="alert alert-success" role="alert"> <div class="alert alert-success" role="alert">
<strong>Well done!</strong> You successfully read this important alert message. <strong>Well done!</strong> You successfully read this important alert message.
</div> </div>
@ -38,15 +38,15 @@
<h4>Requires JavaScript alert plugin</h4> <h4>Requires JavaScript alert plugin</h4>
<p>For fully functioning, dismissible alerts, you must use the <a href="../javascript/#alerts">alerts JavaScript plugin</a>.</p> <p>For fully functioning, dismissible alerts, you must use the <a href="../javascript/#alerts">alerts JavaScript plugin</a>.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="dismissible-alert-css">
<div class="alert alert-warning alert-dismissible" role="alert"> <div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Warning!</strong> Better check yourself, you're not looking too good. <strong>Warning!</strong> Better check yourself, you're not looking too good.
</div> </div>
</div> </div>
{% highlight html %} {% highlight html %}
<div class="alert alert-warning alert-dismissible" role="alert"> <div class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Warning!</strong> Better check yourself, you're not looking too good. <strong>Warning!</strong> Better check yourself, you're not looking too good.
</div> </div>
{% endhighlight %} {% endhighlight %}
@ -58,7 +58,7 @@
<h2 id="alerts-links">Links in alerts</h2> <h2 id="alerts-links">Links in alerts</h2>
<p>Use the <code>.alert-link</code> utility class to quickly provide matching colored links within any alert.</p> <p>Use the <code>.alert-link</code> utility class to quickly provide matching colored links within any alert.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="alerts-with-links">
<div class="alert alert-success" role="alert"> <div class="alert alert-success" role="alert">
<strong>Well done!</strong> You successfully read <a href="#" class="alert-link">this important alert message</a>. <strong>Well done!</strong> You successfully read <a href="#" class="alert-link">this important alert message</a>.
</div> </div>

View File

@ -3,7 +3,7 @@
<p class="lead">Easily highlight new or unread items by adding a <code>&lt;span class="badge"&gt;</code> to links, Bootstrap navs, and more.</p> <p class="lead">Easily highlight new or unread items by adding a <code>&lt;span class="badge"&gt;</code> to links, Bootstrap navs, and more.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-badges">
<a href="#">Inbox <span class="badge">42</span></a> <a href="#">Inbox <span class="badge">42</span></a>
<br><br> <br><br>
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
@ -28,7 +28,7 @@
<h4>Adapts to active nav states</h4> <h4>Adapts to active nav states</h4>
<p>Built-in styles are included for placing badges in active states in pill navigations.</p> <p>Built-in styles are included for placing badges in active states in pill navigations.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="badges-in-pills">
<ul class="nav nav-pills" role="tablist"> <ul class="nav nav-pills" role="tablist">
<li role="presentation" class="active"><a href="#">Home <span class="badge">42</span></a></li> <li role="presentation" class="active"><a href="#">Home <span class="badge">42</span></a></li>
<li role="presentation"><a href="#">Profile</a></li> <li role="presentation"><a href="#">Profile</a></li>

View File

@ -3,7 +3,7 @@
<p class="lead">Indicate the current page's location within a navigational hierarchy.</p> <p class="lead">Indicate the current page's location within a navigational hierarchy.</p>
<p>Separators are automatically added in CSS through <code>:before</code> and <code>content</code>.</p> <p>Separators are automatically added in CSS through <code>:before</code> and <code>content</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-breadcrumbs">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li class="active">Home</li> <li class="active">Home</li>
</ol> </ol>

View File

@ -10,7 +10,7 @@
<h3 id="btn-dropdowns-single">Single button dropdowns</h3> <h3 id="btn-dropdowns-single">Single button dropdowns</h3>
<p>Turn a button into a dropdown toggle with some basic markup changes.</p> <p>Turn a button into a dropdown toggle with some basic markup changes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="single-button-dropdown">
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Default <span class="caret"></span></button> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Default <span class="caret"></span></button>
<ul class="dropdown-menu" role="menu"> <ul class="dropdown-menu" role="menu">
@ -90,7 +90,7 @@
<h3 id="btn-dropdowns-split">Split button dropdowns</h3> <h3 id="btn-dropdowns-split">Split button dropdowns</h3>
<p>Similarly, create split button dropdowns with the same markup changes, only with a separate button.</p> <p>Similarly, create split button dropdowns with the same markup changes, only with a separate button.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="split-button-dropdown">
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-default">Default</button> <button type="button" class="btn btn-default">Default</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
@ -196,7 +196,7 @@
<h3 id="btn-dropdowns-sizing">Sizing</h3> <h3 id="btn-dropdowns-sizing">Sizing</h3>
<p>Button dropdowns work with buttons of all sizes.</p> <p>Button dropdowns work with buttons of all sizes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="button-dropdown-sizing">
<div class="btn-toolbar" role="toolbar"> <div class="btn-toolbar" role="toolbar">
<div class="btn-group"> <div class="btn-group">
<button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false"> <button class="btn btn-default btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
@ -274,7 +274,7 @@
<h3 id="btn-dropdowns-dropup">Dropup variation</h3> <h3 id="btn-dropdowns-dropup">Dropup variation</h3>
<p>Trigger dropdown menus above elements by adding <code>.dropup</code> to the parent.</p> <p>Trigger dropdown menus above elements by adding <code>.dropup</code> to the parent.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="button-dropdown-dropup">
<div class="btn-toolbar" role="toolbar"> <div class="btn-toolbar" role="toolbar">
<div class="btn-group dropup"> <div class="btn-group dropup">
<button type="button" class="btn btn-default">Dropup</button> <button type="button" class="btn btn-default">Dropup</button>

View File

@ -17,7 +17,7 @@
<h3 id="btn-groups-single">Basic example</h3> <h3 id="btn-groups-single">Basic example</h3>
<p>Wrap a series of buttons with <code>.btn</code> in <code>.btn-group</code>.</p> <p>Wrap a series of buttons with <code>.btn</code> in <code>.btn-group</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-button-group">
<div class="btn-group" role="group" aria-label="Basic example"> <div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-default">Left</button> <button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button> <button type="button" class="btn btn-default">Middle</button>
@ -34,7 +34,7 @@
<h3 id="btn-groups-toolbar">Button toolbar</h3> <h3 id="btn-groups-toolbar">Button toolbar</h3>
<p>Combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex components.</p> <p>Combine sets of <code>&lt;div class="btn-group"&gt;</code> into a <code>&lt;div class="btn-toolbar"&gt;</code> for more complex components.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-button-toolbar">
<div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups"> <div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
<div class="btn-group" role="group" aria-label="First group"> <div class="btn-group" role="group" aria-label="First group">
<button type="button" class="btn btn-default">1</button> <button type="button" class="btn btn-default">1</button>
@ -61,8 +61,8 @@
{% endhighlight %} {% endhighlight %}
<h3 id="btn-groups-sizing">Sizing</h3> <h3 id="btn-groups-sizing">Sizing</h3>
<p>Instead of applying button sizing classes to every button in a group, just add <code>.btn-group-*</code> to the <code>.btn-group</code>.</p> <p>Instead of applying button sizing classes to every button in a group, just add <code>.btn-group-*</code> to each <code>.btn-group</code>, including when nesting multiple groups.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="button-group-sizing">
<div class="btn-group btn-group-lg" role="group" aria-label="Large button group"> <div class="btn-group btn-group-lg" role="group" aria-label="Large button group">
<button type="button" class="btn btn-default">Left</button> <button type="button" class="btn btn-default">Left</button>
<button type="button" class="btn btn-default">Middle</button> <button type="button" class="btn btn-default">Middle</button>
@ -96,7 +96,7 @@
<h3 id="btn-groups-nested">Nesting</h3> <h3 id="btn-groups-nested">Nesting</h3>
<p>Place a <code>.btn-group</code> within another <code>.btn-group</code> when you want dropdown menus mixed with a series of buttons.</p> <p>Place a <code>.btn-group</code> within another <code>.btn-group</code> when you want dropdown menus mixed with a series of buttons.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="button-group-nesting">
<div class="btn-group" role="group" aria-label="Button group with nested dropdown"> <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
<button type="button" class="btn btn-default">1</button> <button type="button" class="btn btn-default">1</button>
<button type="button" class="btn btn-default">2</button> <button type="button" class="btn btn-default">2</button>
@ -133,7 +133,7 @@
<h3 id="btn-groups-vertical">Vertical variation</h3> <h3 id="btn-groups-vertical">Vertical variation</h3>
<p>Make a set of buttons appear vertically stacked rather than horizontally. <strong class="text-danger">Split button dropdowns are not supported here.</strong></p> <p>Make a set of buttons appear vertically stacked rather than horizontally. <strong class="text-danger">Split button dropdowns are not supported here.</strong></p>
<div class="bs-example"> <div class="bs-example" data-example-id="vertical-button-group">
<div class="btn-group-vertical" role="group" aria-label="Vertical button group"> <div class="btn-group-vertical" role="group" aria-label="Vertical button group">
<button type="button" class="btn btn-default">Button</button> <button type="button" class="btn btn-default">Button</button>
<button type="button" class="btn btn-default">Button</button> <button type="button" class="btn btn-default">Button</button>
@ -202,7 +202,7 @@
<h4>With <code>&lt;a&gt;</code> elements</h4> <h4>With <code>&lt;a&gt;</code> elements</h4>
<p>Just wrap a series of <code>.btn</code>s in <code>.btn-group.btn-group-justified</code>.</p> <p>Just wrap a series of <code>.btn</code>s in <code>.btn-group.btn-group-justified</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-justified-button-group">
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group"> <div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
<a href="#" class="btn btn-default" role="button">Left</a> <a href="#" class="btn btn-default" role="button">Left</a>
<a href="#" class="btn btn-default" role="button">Middle</a> <a href="#" class="btn btn-default" role="button">Middle</a>
@ -239,7 +239,7 @@
<h4>With <code>&lt;button&gt;</code> elements</h4> <h4>With <code>&lt;button&gt;</code> elements</h4>
<p>To use justified button groups with <code>&lt;button&gt;</code> elements, <strong class="text-danger">you must wrap each button in a button group</strong>. Most browsers don't properly apply our CSS for justification to <code>&lt;button&gt;</code> elements, but since we support button dropdowns, we can work around that.</p> <p>To use justified button groups with <code>&lt;button&gt;</code> elements, <strong class="text-danger">you must wrap each button in a button group</strong>. Most browsers don't properly apply our CSS for justification to <code>&lt;button&gt;</code> elements, but since we support button dropdowns, we can work around that.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="button-tag-button-group-justified">
<div class="btn-group btn-group-justified" role="group" aria-label="Justified button group"> <div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
<div class="btn-group" role="group"> <div class="btn-group" role="group">
<button type="button" class="btn btn-default">Left</button> <button type="button" class="btn btn-default">Left</button>

View File

@ -5,7 +5,7 @@
<h3 id="dropdowns-example">Example</h3> <h3 id="dropdowns-example">Example</h3>
<p>Wrap the dropdown's trigger and the dropdown menu within <code>.dropdown</code>, or another element that declares <code>position: relative;</code>. Then add the menu's HTML.</p> <p>Wrap the dropdown's trigger and the dropdown menu within <code>.dropdown</code>, or another element that declares <code>position: relative;</code>. Then add the menu's HTML.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="static-dropdown">
<div class="dropdown clearfix"> <div class="dropdown clearfix">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
Dropdown Dropdown

View File

@ -2,7 +2,7 @@
<h1 id="glyphicons" class="page-header">Glyphicons</h1> <h1 id="glyphicons" class="page-header">Glyphicons</h1>
<h2 id="glyphicons-glyphs">Available glyphs</h2> <h2 id="glyphicons-glyphs">Available glyphs</h2>
<p>Includes 200 glyphs in font format from the Glyphicon Halflings set. <a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but their creator has made them available for Bootstrap free of cost. As a thank you, we only ask that you include a link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever possible.</p> <p>Includes 260 glyphs in font format from the Glyphicon Halflings set. <a href="http://glyphicons.com/">Glyphicons</a> Halflings are normally not available for free, but their creator has made them available for Bootstrap free of cost. As a thank you, we only ask that you include a link back to <a href="http://glyphicons.com/">Glyphicons</a> whenever possible.</p>
<div class="bs-glyphicons"> <div class="bs-glyphicons">
<ul class="bs-glyphicons-list"> <ul class="bs-glyphicons-list">
{% for iconClassName in site.data.glyphicons %} {% for iconClassName in site.data.glyphicons %}
@ -48,7 +48,7 @@
<h2 id="glyphicons-examples">Examples</h2> <h2 id="glyphicons-examples">Examples</h2>
<p>Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.</p> <p>Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="glyphicons-general">
<div class="btn-toolbar" role="toolbar"> <div class="btn-toolbar" role="toolbar">
<div class="btn-group"> <div class="btn-group">
<button type="button" class="btn btn-default" aria-label="Left Align"><span class="glyphicon glyphicon-align-left" aria-hidden="true"></span></button> <button type="button" class="btn btn-default" aria-label="Left Align"><span class="glyphicon glyphicon-align-left" aria-hidden="true"></span></button>
@ -74,7 +74,7 @@
</button> </button>
{% endhighlight %} {% endhighlight %}
<p>An icon used in an <a href="#alerts">alert</a> to convey that it's an error message, with additional <code>.sr-only</code> text to convey this hint to users of assistive technologies.</p> <p>An icon used in an <a href="#alerts">alert</a> to convey that it's an error message, with additional <code>.sr-only</code> text to convey this hint to users of assistive technologies.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="glyphicons-accessibility">
<div class="alert alert-danger" role="alert"> <div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
<span class="sr-only">Error:</span> <span class="sr-only">Error:</span>

View File

@ -16,101 +16,105 @@
<h4>Don't mix with other components</h4> <h4>Don't mix with other components</h4>
<p>Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.</p> <p>Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.</p>
</div> </div>
<div class="bs-callout bs-callout-warning" id="callout-inputgroup-form-labels">
<h4>Always add labels</h4>
<p>Screen readers will have trouble with your forms if you don't include a label for every input. For these input groups, ensure that any additional label or functionality is conveyed to assistive technologies.</p>
<p>The exact technique to be used (<code>&lt;label&gt;</code> elements hidden using the <code>.sr-only</code> class, or use of the <code>aria-label</code>, <code>aria-labelledby</code>, <code>aria-describedby</code>, <code>title</code> or <code>placeholder</code> attribute) and what additional information will need to be conveyed will vary depending on the exact type of interface widget you're implementing. The examples in this section provide a few suggested, case-specific approaches.</p>
</div>
<h2 id="input-groups-basic">Basic example</h2> <h2 id="input-groups-basic">Basic example</h2>
<p>Place one add-on or button on either side of an input. You may also place one on both sides of an input.</p> <p>Place one add-on or button on either side of an input. You may also place one on both sides of an input.</p>
<p><strong class="text-danger">We do not support multiple add-ons on a single side.</strong></p> <p><strong class="text-danger">We do not support multiple add-ons on a single side.</strong></p>
<p><strong class="text-danger">We do not support multiple form-controls in a single input group.</strong></p> <p><strong class="text-danger">We do not support multiple form-controls in a single input group.</strong></p>
<form class="bs-example bs-example-form"> <form class="bs-example bs-example-form" data-example-id="simple-input-groups">
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="basic-addon1">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
</div> </div>
<br> <br>
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
<span class="input-group-addon">.00</span> <span class="input-group-addon" id="basic-addon2">@example.com</span>
</div> </div>
<br> <br>
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">$</span> <span class="input-group-addon">$</span>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
<span class="input-group-addon">.00</span> <span class="input-group-addon">.00</span>
</div> </div>
</form> </form>
{% highlight html %} {% highlight html %}
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="basic-addon1">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
</div> </div>
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
<span class="input-group-addon">.00</span> <span class="input-group-addon" id="basic-addon2">@example.com</span>
</div> </div>
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">$</span> <span class="input-group-addon">$</span>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
<span class="input-group-addon">.00</span> <span class="input-group-addon">.00</span>
</div> </div>
{% endhighlight %} {% endhighlight %}
<h2 id="input-groups-sizing">Sizing</h2> <h2 id="input-groups-sizing">Sizing</h2>
<p>Add the relative form sizing classes to the <code>.input-group</code> itself and contents within will automatically resize—no need for repeating the form control size classes on each element.</p> <p>Add the relative form sizing classes to the <code>.input-group</code> itself and contents within will automatically resize—no need for repeating the form control size classes on each element.</p>
<form class="bs-example bs-example-form"> <form class="bs-example bs-example-form" data-example-id="input-group-sizing">
<div class="input-group input-group-lg"> <div class="input-group input-group-lg">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="sizing-addon1">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div> </div>
<br> <br>
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="sizing-addon2">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
</div> </div>
<br> <br>
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="sizing-addon3">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon3">
</div> </div>
</form> </form>
{% highlight html %} {% highlight html %}
<div class="input-group input-group-lg"> <div class="input-group input-group-lg">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="sizing-addon1">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
</div> </div>
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="sizing-addon2">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
</div> </div>
<div class="input-group input-group-sm"> <div class="input-group input-group-sm">
<span class="input-group-addon">@</span> <span class="input-group-addon" id="sizing-addon3">@</span>
<input type="text" class="form-control" placeholder="Username"> <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon3">
</div> </div>
{% endhighlight %} {% endhighlight %}
<h2 id="input-groups-checkboxes-radios">Checkboxes and radio addons</h2> <h2 id="input-groups-checkboxes-radios">Checkboxes and radio addons</h2>
<p>Place any checkbox or radio option within an input group's addon instead of text.</p> <p>Place any checkbox or radio option within an input group's addon instead of text.</p>
<form class="bs-example bs-example-form"> <form class="bs-example bs-example-form" data-example-id="input-group-with-checkbox-radio">
<div class="row"> <div class="row">
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<span class="input-group-addon"> <span class="input-group-addon">
<input type="checkbox"> <input type="checkbox" aria-label="Checkbox for following text input">
</span> </span>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Text input with checkbox">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<span class="input-group-addon"> <span class="input-group-addon">
<input type="radio"> <input type="radio" aria-label="Radio button for following text input">
</span> </span>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Text input with radio button">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
</div><!-- /.row --> </div><!-- /.row -->
@ -120,17 +124,17 @@
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<span class="input-group-addon"> <span class="input-group-addon">
<input type="checkbox"> <input type="checkbox" aria-label="...">
</span> </span>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="...">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<span class="input-group-addon"> <span class="input-group-addon">
<input type="radio"> <input type="radio" aria-label="...">
</span> </span>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="...">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
</div><!-- /.row --> </div><!-- /.row -->
@ -139,19 +143,19 @@
<h2 id="input-groups-buttons">Button addons</h2> <h2 id="input-groups-buttons">Button addons</h2>
<p>Buttons in input groups are a bit different and require one extra level of nesting. Instead of <code>.input-group-addon</code>, you'll need to use <code>.input-group-btn</code> to wrap the buttons. This is required due to default browser styles that cannot be overridden.</p> <p>Buttons in input groups are a bit different and require one extra level of nesting. Instead of <code>.input-group-addon</code>, you'll need to use <code>.input-group-btn</code> to wrap the buttons. This is required due to default browser styles that cannot be overridden.</p>
<form class="bs-example bs-example-form"> <form class="bs-example bs-example-form" data-example-id="input-group-with-button">
<div class="row"> <div class="row">
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button> <button class="btn btn-default" type="button">Go!</button>
</span> </span>
<input type="text" class="form-control"> <input type="text" class="form-control" placeholder="Search for...">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" placeholder="Search for...">
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button> <button class="btn btn-default" type="button">Go!</button>
</span> </span>
@ -166,12 +170,12 @@
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button> <button class="btn btn-default" type="button">Go!</button>
</span> </span>
<input type="text" class="form-control"> <input type="text" class="form-control" placeholder="Search for...">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" placeholder="Search for...">
<span class="input-group-btn"> <span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button> <button class="btn btn-default" type="button">Go!</button>
</span> </span>
@ -182,7 +186,7 @@
<h2 id="input-groups-buttons-dropdowns">Buttons with dropdowns</h2> <h2 id="input-groups-buttons-dropdowns">Buttons with dropdowns</h2>
<p></p> <p></p>
<form class="bs-example bs-example-form"> <form class="bs-example bs-example-form" data-example-id="input-group-dropdowns">
<div class="row"> <div class="row">
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
@ -196,12 +200,12 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</div><!-- /btn-group --> </div><!-- /btn-group -->
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Text input with dropdown button">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Text input with dropdown button">
<div class="input-group-btn"> <div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action <span class="caret"></span></button> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" role="menu"> <ul class="dropdown-menu dropdown-menu-right" role="menu">
@ -230,12 +234,12 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</div><!-- /btn-group --> </div><!-- /btn-group -->
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="...">
</div><!-- /input-group --> </div><!-- /input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="...">
<div class="input-group-btn"> <div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action <span class="caret"></span></button> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action <span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" role="menu"> <ul class="dropdown-menu dropdown-menu-right" role="menu">
@ -252,12 +256,12 @@
{% endhighlight %} {% endhighlight %}
<h2 id="input-groups-buttons-segmented">Segmented buttons</h2> <h2 id="input-groups-buttons-segmented">Segmented buttons</h2>
<form class="bs-example bs-example-form"> <form class="bs-example bs-example-form" data-example-id="input-group-segmented-buttons">
<div class="row"> <div class="row">
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<div class="input-group-btn"> <div class="input-group-btn">
<button type="button" class="btn btn-default" tabindex="-1">Action</button> <button type="button" class="btn btn-default">Action</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span> <span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span> <span class="sr-only">Toggle Dropdown</span>
@ -270,14 +274,14 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</div> </div>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
</div><!-- /.input-group --> </div><!-- /.input-group -->
</div><!-- /.col-lg-6 --> </div><!-- /.col-lg-6 -->
<div class="col-lg-6"> <div class="col-lg-6">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
<div class="input-group-btn"> <div class="input-group-btn">
<button type="button" class="btn btn-default" tabindex="-1">Action</button> <button type="button" class="btn btn-default">Action</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span> <span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span> <span class="sr-only">Toggle Dropdown</span>
@ -299,11 +303,11 @@
<div class="input-group-btn"> <div class="input-group-btn">
<!-- Button and dropdown menu --> <!-- Button and dropdown menu -->
</div> </div>
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="...">
</div> </div>
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control"> <input type="text" class="form-control" aria-label="...">
<div class="input-group-btn"> <div class="input-group-btn">
<!-- Button and dropdown menu --> <!-- Button and dropdown menu -->
</div> </div>

View File

@ -2,7 +2,7 @@
<h1 id="jumbotron" class="page-header">Jumbotron</h1> <h1 id="jumbotron" class="page-header">Jumbotron</h1>
<p>A lightweight, flexible component that can optionally extend the entire viewport to showcase key content on your site.</p> <p>A lightweight, flexible component that can optionally extend the entire viewport to showcase key content on your site.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-jumbotron">
<div class="jumbotron"> <div class="jumbotron">
<h1>Hello, world!</h1> <h1>Hello, world!</h1>
<p>This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p> <p>This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>

View File

@ -2,7 +2,7 @@
<h1 id="labels" class="page-header">Labels</h1> <h1 id="labels" class="page-header">Labels</h1>
<h3>Example</h3> <h3>Example</h3>
<div class="bs-example"> <div class="bs-example" data-example-id="labels-in-headings">
<h1>Example heading <span class="label label-default">New</span></h1> <h1>Example heading <span class="label label-default">New</span></h1>
<h2>Example heading <span class="label label-default">New</span></h2> <h2>Example heading <span class="label label-default">New</span></h2>
<h3>Example heading <span class="label label-default">New</span></h3> <h3>Example heading <span class="label label-default">New</span></h3>
@ -16,7 +16,7 @@
<h3>Available variations</h3> <h3>Available variations</h3>
<p>Add any of the below mentioned modifier classes to change the appearance of a label.</p> <p>Add any of the below mentioned modifier classes to change the appearance of a label.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="label-variants">
<span class="label label-default">Default</span> <span class="label label-default">Default</span>
<span class="label label-primary">Primary</span> <span class="label label-primary">Primary</span>
<span class="label label-success">Success</span> <span class="label label-success">Success</span>

View File

@ -5,7 +5,7 @@
<h3 id="list-group-basic">Basic example</h3> <h3 id="list-group-basic">Basic example</h3>
<p>The most basic list group is simply an unordered list with list items, and the proper classes. Build upon it with the options that follow, or your own CSS as needed.</p> <p>The most basic list group is simply an unordered list with list items, and the proper classes. Build upon it with the options that follow, or your own CSS as needed.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-list-group">
<ul class="list-group"> <ul class="list-group">
<li class="list-group-item">Cras justo odio</li> <li class="list-group-item">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li> <li class="list-group-item">Dapibus ac facilisis in</li>
@ -26,7 +26,7 @@
<h3 id="list-group-badges">Badges</h3> <h3 id="list-group-badges">Badges</h3>
<p>Add the badges component to any list group item and it will automatically be positioned on the right.</p> <p>Add the badges component to any list group item and it will automatically be positioned on the right.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="list-group-badges">
<ul class="list-group"> <ul class="list-group">
<li class="list-group-item"> <li class="list-group-item">
<span class="badge">14</span> <span class="badge">14</span>
@ -53,7 +53,7 @@
<h3 id="list-group-linked">Linked items</h3> <h3 id="list-group-linked">Linked items</h3>
<p>Linkify list group items by using anchor tags instead of list items (that also means a parent <code>&lt;div&gt;</code> instead of an <code>&lt;ul&gt;</code>). No need for individual parents around each element.</p> <p>Linkify list group items by using anchor tags instead of list items (that also means a parent <code>&lt;div&gt;</code> instead of an <code>&lt;ul&gt;</code>). No need for individual parents around each element.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="list-group-anchors">
<div class="list-group"> <div class="list-group">
<a href="#" class="list-group-item active"> <a href="#" class="list-group-item active">
Cras justo odio Cras justo odio
@ -78,7 +78,7 @@
<h3 id="list-group-disabled">Disabled items</h3> <h3 id="list-group-disabled">Disabled items</h3>
<p>Add <code>.disabled</code> to a <code>.list-group-item</code> to gray it out to appear disabled.</p> <p>Add <code>.disabled</code> to a <code>.list-group-item</code> to gray it out to appear disabled.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="list-group-disabled">
<div class="list-group"> <div class="list-group">
<a href="#" class="list-group-item disabled"> <a href="#" class="list-group-item disabled">
Cras justo odio Cras justo odio
@ -103,7 +103,7 @@
<h3 id="list-group-contextual-classes">Contextual classes</h3> <h3 id="list-group-contextual-classes">Contextual classes</h3>
<p>Use contextual classes to style list items, default or linked. Also includes <code>.active</code> state.</p> <p>Use contextual classes to style list items, default or linked. Also includes <code>.active</code> state.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="list-group-variants">
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<ul class="list-group"> <ul class="list-group">
@ -140,7 +140,7 @@
<h3 id="list-group-custom-content">Custom content</h3> <h3 id="list-group-custom-content">Custom content</h3>
<p>Add nearly any HTML within, even for linked list groups like the one below.</p> <p>Add nearly any HTML within, even for linked list groups like the one below.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="list-group-custom-content">
<div class="list-group"> <div class="list-group">
<a href="#" class="list-group-item active"> <a href="#" class="list-group-item active">
<h4 class="list-group-item-heading">List group item heading</h4> <h4 class="list-group-item-heading">List group item heading</h4>

View File

@ -5,7 +5,7 @@
<h3 id="media-default">Default media</h3> <h3 id="media-default">Default media</h3>
<p>The default media displays a media object (images, video, audio) to the left or right of a content block.</p> <p>The default media displays a media object (images, video, audio) to the left or right of a content block.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="default-media">
<div class="media"> <div class="media">
<div class="media-left"> <div class="media-left">
<a href="#"> <a href="#">
@ -84,7 +84,7 @@
<p>The classes <code>.pull-left</code> and <code>.pull-right</code> also exist and were previously used as part of the media component, but are deprecated for that use as of v3.3.0. They are approximately equivalent to <code>.media-left</code> and <code>.media-right</code>, except that <code>.media-right</code> should be placed after the <code>.media-body</code> in the html.</p> <p>The classes <code>.pull-left</code> and <code>.pull-right</code> also exist and were previously used as part of the media component, but are deprecated for that use as of v3.3.0. They are approximately equivalent to <code>.media-left</code> and <code>.media-right</code>, except that <code>.media-right</code> should be placed after the <code>.media-body</code> in the html.</p>
<h3 id="media-alignment">Media alignment</h3> <h3 id="media-alignment">Media alignment</h3>
<p>The images or other media can be aligned top, middle, or bottom. The default is top aligned.</p> <p>The images or other media can be aligned top, middle, or bottom. The default is top aligned.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="media-alignment">
<div class="media"> <div class="media">
<div class="media-left"> <div class="media-left">
<a href="#"> <a href="#">
@ -138,7 +138,7 @@
<h3 id="media-list">Media list</h3> <h3 id="media-list">Media list</h3>
<p>With a bit of extra markup, you can use media inside list (useful for comment threads or articles lists).</p> <p>With a bit of extra markup, you can use media inside list (useful for comment threads or articles lists).</p>
<div class="bs-example"> <div class="bs-example" data-example-id="media-list">
<ul class="media-list"> <ul class="media-list">
<li class="media"> <li class="media">
<div class="media-left"> <div class="media-left">

View File

@ -28,7 +28,7 @@
<p>Be sure to use a <code>&lt;nav&gt;</code> element or, if using a more generic element such as a <code>&lt;div&gt;</code>, add a <code>role="navigation"</code> to every navbar to explicitly identify it as a landmark region for users of assistive technologies.</p> <p>Be sure to use a <code>&lt;nav&gt;</code> element or, if using a more generic element such as a <code>&lt;div&gt;</code>, add a <code>role="navigation"</code> to every navbar to explicitly identify it as a landmark region for users of assistive technologies.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="default-navbar">
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display --> <!-- Brand and toggle get grouped for better mobile display -->
@ -142,7 +142,7 @@
<h2 id="navbar-brand-image">Brand image</h2> <h2 id="navbar-brand-image">Brand image</h2>
<p>Replace the navbar brand with your own image by swapping the text for an <code>&lt;img&gt;</code>. Since the <code>.navbar-brand</code> has its own padding and height, you may need to override some CSS depending on your image.</p> <p>Replace the navbar brand with your own image by swapping the text for an <code>&lt;img&gt;</code>. Since the <code>.navbar-brand</code> has its own padding and height, you may need to override some CSS depending on your image.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="navbar-with-image-brand">
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
@ -169,7 +169,7 @@
<h2 id="navbar-forms">Forms</h2> <h2 id="navbar-forms">Forms</h2>
<p>Place form content within <code>.navbar-form</code> for proper vertical alignment and collapsed behavior in narrow viewports. Use the alignment options to decide where it resides within the navbar content.</p> <p>Place form content within <code>.navbar-form</code> for proper vertical alignment and collapsed behavior in narrow viewports. Use the alignment options to decide where it resides within the navbar content.</p>
<p>As a heads up, <code>.navbar-form</code> shares much of its code with <code>.form-inline</code> via mixin. <strong class="text-danger">Some form controls, like input groups, may require fixed widths to be show up properly within a navbar.</strong></p> <p>As a heads up, <code>.navbar-form</code> shares much of its code with <code>.form-inline</code> via mixin. <strong class="text-danger">Some form controls, like input groups, may require fixed widths to be show up properly within a navbar.</strong></p>
<div class="bs-example"> <div class="bs-example" data-example-id="navbar-form">
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
@ -208,13 +208,13 @@
<div class="bs-callout bs-callout-warning" id="callout-navbar-form-labels"> <div class="bs-callout bs-callout-warning" id="callout-navbar-form-labels">
<h4>Always add labels</h4> <h4>Always add labels</h4>
<p>Screen readers will have trouble with your forms if you don't include a label for every input. For these inline navbar forms, you can hide the labels using the <code>.sr-only</code> class.</p> <p>Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the <code>.sr-only</code> class. There are further alternative methods of providing a label for assistive technologies, such as the <code>aria-label</code>, <code>aria-labelledby</code> or <code>title</code> attribute. If none of these is present, screen readers may resort to using the <code>placeholder</code> attribute, if present, but note that use of <code>placeholder</code> as a replacement for other labelling methods is not advised.</p>
</div> </div>
<h2 id="navbar-buttons">Buttons</h2> <h2 id="navbar-buttons">Buttons</h2>
<p>Add the <code>.navbar-btn</code> class to <code>&lt;button&gt;</code> elements not residing in a <code>&lt;form&gt;</code> to vertically center them in the navbar.</p> <p>Add the <code>.navbar-btn</code> class to <code>&lt;button&gt;</code> elements not residing in a <code>&lt;form&gt;</code> to vertically center them in the navbar.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="navbar-button">
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
@ -243,7 +243,7 @@
<h2 id="navbar-text">Text</h2> <h2 id="navbar-text">Text</h2>
<p>Wrap strings of text in an element with <code>.navbar-text</code>, usually on a <code>&lt;p&gt;</code> tag for proper leading and color.</p> <p>Wrap strings of text in an element with <code>.navbar-text</code>, usually on a <code>&lt;p&gt;</code> tag for proper leading and color.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="navbar-text">
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
@ -268,7 +268,7 @@
<h2 id="navbar-links">Non-nav links</h2> <h2 id="navbar-links">Non-nav links</h2>
<p>For folks using standard links that are not within the regular navbar navigation component, use the <code>.navbar-link</code> class to add the proper colors for the default and inverse navbar options.</p> <p>For folks using standard links that are not within the regular navbar navigation component, use the <code>.navbar-link</code> class to add the proper colors for the default and inverse navbar options.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="navbar-link">
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
@ -303,7 +303,7 @@
<h2 id="navbar-fixed-top">Fixed to top</h2> <h2 id="navbar-fixed-top">Fixed to top</h2>
<p>Add <code>.navbar-fixed-top</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p> <p>Add <code>.navbar-fixed-top</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p>
<div class="bs-example bs-navbar-top-example"> <div class="bs-example bs-navbar-top-example" data-example-id="navbar-fixed-to-top">
<nav class="navbar navbar-default navbar-fixed-top"> <nav class="navbar navbar-default navbar-fixed-top">
<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. --> <!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->
<div class="container-fluid"> <div class="container-fluid">
@ -347,7 +347,7 @@ body { padding-top: 70px; }
<h2 id="navbar-fixed-bottom">Fixed to bottom</h2> <h2 id="navbar-fixed-bottom">Fixed to bottom</h2>
<p>Add <code>.navbar-fixed-bottom</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p> <p>Add <code>.navbar-fixed-bottom</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p>
<div class="bs-example bs-navbar-bottom-example"> <div class="bs-example bs-navbar-bottom-example" data-example-id="navbar-fixed-to-bottom">
<nav class="navbar navbar-default navbar-fixed-bottom"> <nav class="navbar navbar-default navbar-fixed-bottom">
<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. --> <!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->
<div class="container-fluid"> <div class="container-fluid">
@ -392,7 +392,7 @@ body { padding-bottom: 70px; }
<h2 id="navbar-static-top">Static top</h2> <h2 id="navbar-static-top">Static top</h2>
<p>Create a full-width navbar that scrolls away with the page by adding <code>.navbar-static-top</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p> <p>Create a full-width navbar that scrolls away with the page by adding <code>.navbar-static-top</code> and include a <code>.container</code> or <code>.container-fluid</code> to center and pad navbar content.</p>
<p>Unlike the <code>.navbar-fixed-*</code> classes, you do not need to change any padding on the <code>body</code>.</p> <p>Unlike the <code>.navbar-fixed-*</code> classes, you do not need to change any padding on the <code>body</code>.</p>
<div class="bs-example bs-navbar-top-example"> <div class="bs-example bs-navbar-top-example" data-example-id="navbar-static-top">
<nav class="navbar navbar-default navbar-static-top"> <nav class="navbar navbar-default navbar-static-top">
<!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. --> <!-- We use the fluid option here to avoid overriding the fixed width of a normal container within the narrow content columns. -->
<div class="container-fluid"> <div class="container-fluid">
@ -428,7 +428,7 @@ body { padding-bottom: 70px; }
<h2 id="navbar-inverted">Inverted navbar</h2> <h2 id="navbar-inverted">Inverted navbar</h2>
<p>Modify the look of the navbar by adding <code>.navbar-inverse</code>.</p> <p>Modify the look of the navbar by adding <code>.navbar-inverse</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="inverted-navbar">
<nav class="navbar navbar-inverse"> <nav class="navbar navbar-inverse">
<div class="container-fluid"> <div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display --> <!-- Brand and toggle get grouped for better mobile display -->

View File

@ -15,7 +15,7 @@
<h2 id="nav-tabs">Tabs</h2> <h2 id="nav-tabs">Tabs</h2>
<p>Note the <code>.nav-tabs</code> class requires the <code>.nav</code> base class.</p> <p>Note the <code>.nav-tabs</code> class requires the <code>.nav</code> base class.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-nav-tabs">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Home</a></li> <li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li> <li role="presentation"><a href="#">Profile</a></li>
@ -33,7 +33,7 @@
<h2 id="nav-pills">Pills</h2> <h2 id="nav-pills">Pills</h2>
<p>Take that same HTML, but use <code>.nav-pills</code> instead:</p> <p>Take that same HTML, but use <code>.nav-pills</code> instead:</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-nav-pills">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li role="presentation" class="active"><a href="#">Home</a></li> <li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li> <li role="presentation"><a href="#">Profile</a></li>
@ -48,7 +48,7 @@
</ul> </ul>
{% endhighlight %} {% endhighlight %}
<p>Pills are also vertically stackable. Just add <code>.nav-stacked</code>.</p> <p>Pills are also vertically stackable. Just add <code>.nav-stacked</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-nav-stacked">
<ul class="nav nav-pills nav-stacked" style="max-width: 300px;"> <ul class="nav nav-pills nav-stacked" style="max-width: 300px;">
<li role="presentation" class="active"><a href="#">Home</a></li> <li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li> <li role="presentation"><a href="#">Profile</a></li>
@ -69,7 +69,7 @@
<h4>Safari and responsive justified navs</h4> <h4>Safari and responsive justified navs</h4>
<p>As of v8.0, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p> <p>As of v8.0, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-nav-justified">
<ul class="nav nav-tabs nav-justified"> <ul class="nav nav-tabs nav-justified">
<li role="presentation" class="active"><a href="#">Home</a></li> <li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li> <li role="presentation"><a href="#">Profile</a></li>
@ -100,7 +100,7 @@
<p>This class will only change the <code>&lt;a&gt;</code>'s appearance, not its functionality. Use custom JavaScript to disable links here.</p> <p>This class will only change the <code>&lt;a&gt;</code>'s appearance, not its functionality. Use custom JavaScript to disable links here.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="disabled-nav-link">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li role="presentation"><a href="#">Clickable link</a></li> <li role="presentation"><a href="#">Clickable link</a></li>
<li role="presentation"><a href="#">Clickable link</a></li> <li role="presentation"><a href="#">Clickable link</a></li>
@ -120,7 +120,7 @@
<p>Add dropdown menus with a little extra HTML and the <a href="../javascript/#dropdowns">dropdowns JavaScript plugin</a>.</p> <p>Add dropdown menus with a little extra HTML and the <a href="../javascript/#dropdowns">dropdowns JavaScript plugin</a>.</p>
<h3>Tabs with dropdowns</h3> <h3>Tabs with dropdowns</h3>
<div class="bs-example"> <div class="bs-example" data-example-id="nav-tabs-with-dropdown">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Home</a></li> <li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Help</a></li> <li role="presentation"><a href="#">Help</a></li>
@ -154,7 +154,7 @@
{% endhighlight %} {% endhighlight %}
<h3>Pills with dropdowns</h3> <h3>Pills with dropdowns</h3>
<div class="bs-example"> <div class="bs-example" data-example-id="nav-pills-with-dropdown">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li role="presentation" class="active"><a href="#">Home</a></li> <li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Help</a></li> <li role="presentation"><a href="#">Help</a></li>

View File

@ -2,7 +2,7 @@
<h1 id="page-header" class="page-header">Page header</h1> <h1 id="page-header" class="page-header">Page header</h1>
<p>A simple shell for an <code>h1</code> to appropriately space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code> element, as well as most other components (with additional styles).</p> <p>A simple shell for an <code>h1</code> to appropriately space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code> element, as well as most other components (with additional styles).</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-page-header">
<div class="page-header"> <div class="page-header">
<h1>Example page header <small>Subtext for header</small></h1> <h1>Example page header <small>Subtext for header</small></h1>
</div> </div>

View File

@ -5,13 +5,12 @@
<h2 id="pagination-default">Default pagination</h2> <h2 id="pagination-default">Default pagination</h2>
<p>Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.</p> <p>Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-pagination">
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<li> <li>
<a href="#"> <a href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span> <span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</a> </a>
</li> </li>
<li><a href="#">1</a></li> <li><a href="#">1</a></li>
@ -20,9 +19,8 @@
<li><a href="#">4</a></li> <li><a href="#">4</a></li>
<li><a href="#">5</a></li> <li><a href="#">5</a></li>
<li> <li>
<a href="#"> <a href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span> <span aria-hidden="true">&raquo;</span>
<span class="sr-only">Next</span>
</a> </a>
</li> </li>
</ul> </ul>
@ -32,9 +30,8 @@
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<li> <li>
<a href="#"> <a href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span> <span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</a> </a>
</li> </li>
<li><a href="#">1</a></li> <li><a href="#">1</a></li>
@ -43,9 +40,8 @@
<li><a href="#">4</a></li> <li><a href="#">4</a></li>
<li><a href="#">5</a></li> <li><a href="#">5</a></li>
<li> <li>
<a href="#"> <a href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span> <span aria-hidden="true">&raquo;</span>
<span class="sr-only">Next</span>
</a> </a>
</li> </li>
</ul> </ul>
@ -54,23 +50,23 @@
<h3>Disabled and active states</h3> <h3>Disabled and active states</h3>
<p>Links are customizable for different circumstances. Use <code>.disabled</code> for unclickable links and <code>.active</code> to indicate the current page.</p> <p>Links are customizable for different circumstances. Use <code>.disabled</code> for unclickable links and <code>.active</code> to indicate the current page.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="disabled-active-pagination">
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<li class="disabled"><a href="#"><span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span></a></li> <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li> <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
<li><a href="#">2</a></li> <li><a href="#">2</a></li>
<li><a href="#">3</a></li> <li><a href="#">3</a></li>
<li><a href="#">4</a></li> <li><a href="#">4</a></li>
<li><a href="#">5</a></li> <li><a href="#">5</a></li>
<li><a href="#"><span aria-hidden="true">&raquo;</span><span class="sr-only">Next</span></a></li> <li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul> </ul>
</nav> </nav>
</div> </div>
{% highlight html %} {% highlight html %}
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<li class="disabled"><a href="#"><span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span></a></li> <li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li> <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
... ...
</ul> </ul>
@ -83,7 +79,6 @@
<li class="disabled"> <li class="disabled">
<span> <span>
<span aria-hidden="true">&laquo;</span> <span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</span> </span>
</li> </li>
<li class="active"> <li class="active">
@ -97,38 +92,38 @@
<h3>Sizing</h3> <h3>Sizing</h3>
<p>Fancy larger or smaller pagination? Add <code>.pagination-lg</code> or <code>.pagination-sm</code> for additional sizes.</p> <p>Fancy larger or smaller pagination? Add <code>.pagination-lg</code> or <code>.pagination-sm</code> for additional sizes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="pagination-sizing">
<nav> <nav>
<ul class="pagination pagination-lg"> <ul class="pagination pagination-lg">
<li><a href="#"><span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span></a></li> <li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li><a href="#">1</a></li> <li><a href="#">1</a></li>
<li><a href="#">2</a></li> <li><a href="#">2</a></li>
<li><a href="#">3</a></li> <li><a href="#">3</a></li>
<li><a href="#">4</a></li> <li><a href="#">4</a></li>
<li><a href="#">5</a></li> <li><a href="#">5</a></li>
<li><a href="#"><span aria-hidden="true">&raquo;</span><span class="sr-only">Next</span></a></li> <li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul> </ul>
</nav> </nav>
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<li><a href="#"><span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span></a></li> <li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li><a href="#">1</a></li> <li><a href="#">1</a></li>
<li><a href="#">2</a></li> <li><a href="#">2</a></li>
<li><a href="#">3</a></li> <li><a href="#">3</a></li>
<li><a href="#">4</a></li> <li><a href="#">4</a></li>
<li><a href="#">5</a></li> <li><a href="#">5</a></li>
<li><a href="#"><span aria-hidden="true">&raquo;</span><span class="sr-only">Next</span></a></li> <li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul> </ul>
</nav> </nav>
<nav> <nav>
<ul class="pagination pagination-sm"> <ul class="pagination pagination-sm">
<li><a href="#"><span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span></a></li> <li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
<li><a href="#">1</a></li> <li><a href="#">1</a></li>
<li><a href="#">2</a></li> <li><a href="#">2</a></li>
<li><a href="#">3</a></li> <li><a href="#">3</a></li>
<li><a href="#">4</a></li> <li><a href="#">4</a></li>
<li><a href="#">5</a></li> <li><a href="#">5</a></li>
<li><a href="#"><span aria-hidden="true">&raquo;</span><span class="sr-only">Next</span></a></li> <li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>
</ul> </ul>
</nav> </nav>
</div> </div>
@ -144,7 +139,7 @@
<h3>Default example</h3> <h3>Default example</h3>
<p>By default, the pager centers links.</p> <p>By default, the pager centers links.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-pager">
<nav> <nav>
<ul class="pager"> <ul class="pager">
<li><a href="#">Previous</a></li> <li><a href="#">Previous</a></li>
@ -163,7 +158,7 @@
<h3>Aligned links</h3> <h3>Aligned links</h3>
<p>Alternatively, you can align each link to the sides:</p> <p>Alternatively, you can align each link to the sides:</p>
<div class="bs-example"> <div class="bs-example" data-example-id="aligned-pager-links">
<nav> <nav>
<ul class="pager"> <ul class="pager">
<li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li> <li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>
@ -183,7 +178,7 @@
<h3>Optional disabled state</h3> <h3>Optional disabled state</h3>
<p>Pager links also use the general <code>.disabled</code> utility class from the pagination.</p> <p>Pager links also use the general <code>.disabled</code> utility class from the pagination.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="disabled-pager">
<nav> <nav>
<ul class="pager"> <ul class="pager">
<li class="previous disabled"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li> <li class="previous disabled"><a href="#"><span aria-hidden="true">&larr;</span> Older</a></li>

View File

@ -5,7 +5,7 @@
<h3 id="panels-basic">Basic example</h3> <h3 id="panels-basic">Basic example</h3>
<p>By default, all the <code>.panel</code> does is apply some basic border and padding to contain some content.</p> <p>By default, all the <code>.panel</code> does is apply some basic border and padding to contain some content.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-panel">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-body"> <div class="panel-body">
Basic panel example Basic panel example
@ -23,7 +23,7 @@
<h3 id="panels-heading">Panel with heading</h3> <h3 id="panels-heading">Panel with heading</h3>
<p>Easily add a heading container to your panel with <code>.panel-heading</code>. You may also include any <code>&lt;h1&gt;</code>-<code>&lt;h6&gt;</code> with a <code>.panel-title</code> class to add a pre-styled heading.</p> <p>Easily add a heading container to your panel with <code>.panel-heading</code>. You may also include any <code>&lt;h1&gt;</code>-<code>&lt;h6&gt;</code> with a <code>.panel-title</code> class to add a pre-styled heading.</p>
<p>For proper link coloring, be sure to place links in headings within <code>.panel-title</code>.</p> <p>For proper link coloring, be sure to place links in headings within <code>.panel-title</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="panel-with-heading">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading">Panel heading without title</div> <div class="panel-heading">Panel heading without title</div>
<div class="panel-body"> <div class="panel-body">
@ -59,7 +59,7 @@
<h3 id="panels-footer">Panel with footer</h3> <h3 id="panels-footer">Panel with footer</h3>
<p>Wrap buttons or secondary text in <code>.panel-footer</code>. Note that panel footers <strong>do not</strong> inherit colors and borders when using contextual variations as they are not meant to be in the foreground.</p> <p>Wrap buttons or secondary text in <code>.panel-footer</code>. Note that panel footers <strong>do not</strong> inherit colors and borders when using contextual variations as they are not meant to be in the foreground.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="panel-with-footer">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-body"> <div class="panel-body">
Panel content Panel content
@ -78,7 +78,7 @@
<h3 id="panels-alternatives">Contextual alternatives</h3> <h3 id="panels-alternatives">Contextual alternatives</h3>
<p>Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.</p> <p>Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="contextual-panels">
<div class="panel panel-primary"> <div class="panel panel-primary">
<div class="panel-heading"> <div class="panel-heading">
<h3 class="panel-title">Panel title</h3> <h3 class="panel-title">Panel title</h3>
@ -130,7 +130,7 @@
<h3 id="panels-tables">With tables</h3> <h3 id="panels-tables">With tables</h3>
<p>Add any non-bordered <code>.table</code> within a panel for a seamless design. If there is a <code>.panel-body</code>, we add an extra border to the top of the table for separation.</p> <p>Add any non-bordered <code>.table</code> within a panel for a seamless design. If there is a <code>.panel-body</code>, we add an extra border to the top of the table for separation.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="table-within-panel">
<div class="panel panel-default"> <div class="panel panel-default">
<!-- Default panel contents --> <!-- Default panel contents -->
<div class="panel-heading">Panel heading</div> <div class="panel-heading">Panel heading</div>
@ -187,7 +187,7 @@
{% endhighlight %} {% endhighlight %}
<p>If there is no panel body, the component moves from panel header to table without interruption.</p> <p>If there is no panel body, the component moves from panel header to table without interruption.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="panel-without-body-with-table">
<div class="panel panel-default"> <div class="panel panel-default">
<!-- Default panel contents --> <!-- Default panel contents -->
<div class="panel-heading">Panel heading</div> <div class="panel-heading">Panel heading</div>
@ -240,7 +240,7 @@
<h3 id="panels-list-group">With list groups</h3> <h3 id="panels-list-group">With list groups</h3>
<p>Easily include full-width <a href="#list-group">list groups</a> within any panel.</p> <p>Easily include full-width <a href="#list-group">list groups</a> within any panel.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="panel-with-list-group">
<div class="panel panel-default"> <div class="panel panel-default">
<!-- Default panel contents --> <!-- Default panel contents -->
<div class="panel-heading">Panel heading</div> <div class="panel-heading">Panel heading</div>

View File

@ -10,7 +10,7 @@
<h3 id="progress-basic">Basic example</h3> <h3 id="progress-basic">Basic example</h3>
<p>Default progress bar.</p> <p>Default progress bar.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-progress-bar">
<div class="progress"> <div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;"> <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
<span class="sr-only">60% Complete</span> <span class="sr-only">60% Complete</span>
@ -26,8 +26,8 @@
{% endhighlight %} {% endhighlight %}
<h3 id="progress-label">With label</h3> <h3 id="progress-label">With label</h3>
<p>Remove the <code>.sr-only</code> class from within the progress bar to show a visible percentage. For low percentages, consider adding a <code>min-width</code> to ensure the label's text is fully visible.</p> <p>Remove the <code>&lt;span&gt;</code> with <code>.sr-only</code> class from within the progress bar to show a visible percentage.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="progress-bar-with-label">
<div class="progress"> <div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;"> <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
60% 60%
@ -41,29 +41,27 @@
</div> </div>
</div> </div>
{% endhighlight %} {% endhighlight %}
<p>To ensure that the label text remains legible even for low percentages, consider adding a <code>min-width</code> to the progress bar.</p>
<h3 id="progress-low-percentages">Low percentages</h3> <div class="bs-example" data-example-id="progress-bar-at-low-percentage">
<p>Progress bars representing low single digit percentages, as well as 0%, include a <code>min-width: 20px;</code> for legibility.</p>
<div class="bs-example">
<div class="progress"> <div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"> <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;">
0% 0%
</div> </div>
</div> </div>
<div class="progress"> <div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="width: 2%;"> <div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: 2%;">
2% 2%
</div> </div>
</div> </div>
</div> </div>
{% highlight html %} {% highlight html %}
<div class="progress"> <div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"> <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em;">
0% 0%
</div> </div>
</div> </div>
<div class="progress"> <div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="width: 2%;"> <div class="progress-bar" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" style="min-width: 2em; width: 2%;">
2% 2%
</div> </div>
</div> </div>
@ -72,7 +70,7 @@
<h3 id="progress-alternatives">Contextual alternatives</h3> <h3 id="progress-alternatives">Contextual alternatives</h3>
<p>Progress bars use some of the same button and alert classes for consistent styles.</p> <p>Progress bars use some of the same button and alert classes for consistent styles.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="contextual-progress-bar">
<div class="progress"> <div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%"> <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
<span class="sr-only">40% Complete (success)</span> <span class="sr-only">40% Complete (success)</span>
@ -119,7 +117,7 @@
<h3 id="progress-striped">Striped</h3> <h3 id="progress-striped">Striped</h3>
<p>Uses a gradient to create a striped effect. Not available in IE8.</p> <p>Uses a gradient to create a striped effect. Not available in IE8.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="striped-progress-bar">
<div class="progress"> <div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%"> <div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
<span class="sr-only">40% Complete (success)</span> <span class="sr-only">40% Complete (success)</span>
@ -166,7 +164,7 @@
<h3 id="progress-animated">Animated</h3> <h3 id="progress-animated">Animated</h3>
<p>Add <code>.active</code> to <code>.progress-bar-striped</code> to animate the stripes right to left. Not available in IE9 and below.</p> <p>Add <code>.active</code> to <code>.progress-bar-striped</code> to animate the stripes right to left. Not available in IE9 and below.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="animated-progress-bar">
<div class="progress"> <div class="progress">
<div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%"><span class="sr-only">45% Complete</span></div> <div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%"><span class="sr-only">45% Complete</span></div>
</div> </div>
@ -182,7 +180,7 @@
<h3 id="progress-stacked">Stacked</h3> <h3 id="progress-stacked">Stacked</h3>
<p>Place multiple bars into the same <code>.progress</code> to stack them.</p> <p>Place multiple bars into the same <code>.progress</code> to stack them.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="stacked-progress-bar">
<div class="progress"> <div class="progress">
<div class="progress-bar progress-bar-success" style="width: 35%"> <div class="progress-bar progress-bar-success" style="width: 35%">
<span class="sr-only">35% Complete (success)</span> <span class="sr-only">35% Complete (success)</span>

View File

@ -4,7 +4,7 @@
<p>Allow browsers to determine video or slideshow dimensions based on the width of their containing block by creating an intrinsic ratio that will properly scale on any device.</p> <p>Allow browsers to determine video or slideshow dimensions based on the width of their containing block by creating an intrinsic ratio that will properly scale on any device.</p>
<p>Rules are directly applied to <code>&lt;iframe&gt;</code>, <code>&lt;embed&gt;</code>, <code>&lt;video&gt;</code>, and <code>&lt;object&gt;</code> elements; optionally use an explicit descendant class <code>.embed-responsive-item</code> when you want to match the styling for other attributes.</p> <p>Rules are directly applied to <code>&lt;iframe&gt;</code>, <code>&lt;embed&gt;</code>, <code>&lt;video&gt;</code>, and <code>&lt;object&gt;</code> elements; optionally use an explicit descendant class <code>.embed-responsive-item</code> when you want to match the styling for other attributes.</p>
<p><strong>Pro-Tip!</strong> You don't need to include <code>frameborder="0"</code> in your <code>&lt;iframe&gt;</code>s as we override that for you.</p> <p><strong>Pro-Tip!</strong> You don't need to include <code>frameborder="0"</code> in your <code>&lt;iframe&gt;</code>s as we override that for you.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="responsive-embed-16by9-iframe-youtube">
<div class="embed-responsive embed-responsive-16by9"> <div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="//www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe> <iframe class="embed-responsive-item" src="//www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe>
</div> </div>

View File

@ -2,10 +2,11 @@
<h1 id="thumbnails" class="page-header">Thumbnails</h1> <h1 id="thumbnails" class="page-header">Thumbnails</h1>
<p class="lead">Extend Bootstrap's <a href="../css/#grid">grid system</a> with the thumbnail component to easily display grids of images, videos, text, and more.</p> <p class="lead">Extend Bootstrap's <a href="../css/#grid">grid system</a> with the thumbnail component to easily display grids of images, videos, text, and more.</p>
<p>If you're looking for Pinterest-like presentation of thumbnails of varying heights and/or widths, you'll need to use a third-party plugin such as <a href="http://masonry.desandro.com">Masonry</a>, <a href="http://isotope.metafizzy.co">Isotope</a>, or <a href="http://salvattore.com">Salvattore</a>.</p>
<h3 id="thumbnails-default">Default example</h3> <h3 id="thumbnails-default">Default example</h3>
<p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p> <p>By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-thumbnails">
<div class="row"> <div class="row">
<div class="col-xs-6 col-md-3"> <div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
@ -33,7 +34,7 @@
<div class="row"> <div class="row">
<div class="col-xs-6 col-md-3"> <div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail"> <a href="#" class="thumbnail">
<img data-src="holder.js/100%x180" alt="..."> <img src="..." alt="...">
</a> </a>
</div> </div>
... ...
@ -42,7 +43,7 @@
<h3 id="thumbnails-custom-content">Custom content</h3> <h3 id="thumbnails-custom-content">Custom content</h3>
<p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p> <p>With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="thumbnails-with-custom-content">
<div class="row"> <div class="row">
<div class="col-sm-6 col-md-4"> <div class="col-sm-6 col-md-4">
<div class="thumbnail"> <div class="thumbnail">
@ -80,7 +81,7 @@
<div class="row"> <div class="row">
<div class="col-sm-6 col-md-4"> <div class="col-sm-6 col-md-4">
<div class="thumbnail"> <div class="thumbnail">
<img data-src="holder.js/300x300" alt="..."> <img src="..." alt="...">
<div class="caption"> <div class="caption">
<h3>Thumbnail label</h3> <h3>Thumbnail label</h3>
<p>...</p> <p>...</p>

View File

@ -3,7 +3,7 @@
<h3>Default well</h3> <h3>Default well</h3>
<p>Use the well as a simple effect on an element to give it an inset effect.</p> <p>Use the well as a simple effect on an element to give it an inset effect.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="default-well">
<div class="well"> <div class="well">
Look, I'm in a well! Look, I'm in a well!
</div> </div>
@ -13,7 +13,7 @@
{% endhighlight %} {% endhighlight %}
<h3>Optional classes</h3> <h3>Optional classes</h3>
<p>Control padding and rounded corners with two optional modifier classes.</p> <p>Control padding and rounded corners with two optional modifier classes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="large-well">
<div class="well well-lg"> <div class="well well-lg">
Look, I'm in a large well! Look, I'm in a large well!
</div> </div>
@ -22,7 +22,7 @@
<div class="well well-lg">...</div> <div class="well well-lg">...</div>
{% endhighlight %} {% endhighlight %}
<div class="bs-example"> <div class="bs-example" data-example-id="small-well">
<div class="well well-sm"> <div class="well well-sm">
Look, I'm in a small well! Look, I'm in a small well!
</div> </div>

View File

@ -3,7 +3,7 @@
<h2 id="buttons-tags">Button tags</h2> <h2 id="buttons-tags">Button tags</h2>
<p>Use the button classes on an <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, or <code>&lt;input&gt;</code> element.</p> <p>Use the button classes on an <code>&lt;a&gt;</code>, <code>&lt;button&gt;</code>, or <code>&lt;input&gt;</code> element.</p>
<form class="bs-example"> <form class="bs-example" data-example-id="btn-tags">
<a class="btn btn-default" href="#" role="button">Link</a> <a class="btn btn-default" href="#" role="button">Link</a>
<button class="btn btn-default" type="submit">Button</button> <button class="btn btn-default" type="submit">Button</button>
<input class="btn btn-default" type="button" value="Input"> <input class="btn btn-default" type="button" value="Input">
@ -34,7 +34,7 @@
<h2 id="buttons-options">Options</h2> <h2 id="buttons-options">Options</h2>
<p>Use any of the available button classes to quickly create a styled button.</p> <p>Use any of the available button classes to quickly create a styled button.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="btn-variants">
<button type="button" class="btn btn-default">Default</button> <button type="button" class="btn btn-default">Default</button>
<button type="button" class="btn btn-primary">Primary</button> <button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-success">Success</button> <button type="button" class="btn btn-success">Success</button>
@ -73,7 +73,7 @@
<h2 id="buttons-sizes">Sizes</h2> <h2 id="buttons-sizes">Sizes</h2>
<p>Fancy larger or smaller buttons? Add <code>.btn-lg</code>, <code>.btn-sm</code>, or <code>.btn-xs</code> for additional sizes.</p> <p>Fancy larger or smaller buttons? Add <code>.btn-lg</code>, <code>.btn-sm</code>, or <code>.btn-xs</code> for additional sizes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="btn-sizes">
<p> <p>
<button type="button" class="btn btn-primary btn-lg">Large button</button> <button type="button" class="btn btn-primary btn-lg">Large button</button>
<button type="button" class="btn btn-default btn-lg">Large button</button> <button type="button" class="btn btn-default btn-lg">Large button</button>
@ -111,7 +111,7 @@
{% endhighlight %} {% endhighlight %}
<p>Create block level buttons&mdash;those that span the full width of a parent&mdash; by adding <code>.btn-block</code>.</p> <p>Create block level buttons&mdash;those that span the full width of a parent&mdash; by adding <code>.btn-block</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="block-btns">
<div class="well" style="max-width: 400px; margin: 0 auto 10px;"> <div class="well" style="max-width: 400px; margin: 0 auto 10px;">
<button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button> <button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button>
<button type="button" class="btn btn-default btn-lg btn-block">Block level button</button> <button type="button" class="btn btn-default btn-lg btn-block">Block level button</button>
@ -128,7 +128,7 @@
<h3>Button element</h3> <h3>Button element</h3>
<p>No need to add <code>:active</code> as it's a pseudo-class, but if you need to force the same appearance, go ahead and add <code>.active</code>.</p> <p>No need to add <code>:active</code> as it's a pseudo-class, but if you need to force the same appearance, go ahead and add <code>.active</code>.</p>
<p class="bs-example"> <p class="bs-example" data-example-id="active-button-btns">
<button type="button" class="btn btn-primary btn-lg active">Primary button</button> <button type="button" class="btn btn-primary btn-lg active">Primary button</button>
<button type="button" class="btn btn-default btn-lg active">Button</button> <button type="button" class="btn btn-default btn-lg active">Button</button>
</p> </p>
@ -139,7 +139,7 @@
<h3>Anchor element</h3> <h3>Anchor element</h3>
<p>Add the <code>.active</code> class to <code>&lt;a&gt;</code> buttons.</p> <p>Add the <code>.active</code> class to <code>&lt;a&gt;</code> buttons.</p>
<p class="bs-example"> <p class="bs-example" data-example-id="active-anchor-btns">
<a href="#" class="btn btn-primary btn-lg active" role="button">Primary link</a> <a href="#" class="btn btn-primary btn-lg active" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg active" role="button">Link</a> <a href="#" class="btn btn-default btn-lg active" role="button">Link</a>
</p> </p>
@ -154,7 +154,7 @@
<h3>Button element</h3> <h3>Button element</h3>
<p>Add the <code>disabled</code> attribute to <code>&lt;button&gt;</code> buttons.</p> <p>Add the <code>disabled</code> attribute to <code>&lt;button&gt;</code> buttons.</p>
<p class="bs-example"> <p class="bs-example" data-example-id="disabled-button-btns">
<button type="button" class="btn btn-primary btn-lg" disabled="disabled">Primary button</button> <button type="button" class="btn btn-primary btn-lg" disabled="disabled">Primary button</button>
<button type="button" class="btn btn-default btn-lg" disabled="disabled">Button</button> <button type="button" class="btn btn-default btn-lg" disabled="disabled">Button</button>
</p> </p>
@ -170,7 +170,7 @@
<h3>Anchor element</h3> <h3>Anchor element</h3>
<p>Add the <code>.disabled</code> class to <code>&lt;a&gt;</code> buttons.</p> <p>Add the <code>.disabled</code> class to <code>&lt;a&gt;</code> buttons.</p>
<p class="bs-example"> <p class="bs-example" data-example-id="disabled-anchor-btns">
<a href="#" class="btn btn-primary btn-lg disabled" role="button">Primary link</a> <a href="#" class="btn btn-primary btn-lg disabled" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg disabled" role="button">Link</a> <a href="#" class="btn btn-default btn-lg disabled" role="button">Link</a>
</p> </p>

View File

@ -3,7 +3,7 @@
<h2 id="code-inline">Inline</h2> <h2 id="code-inline">Inline</h2>
<p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p> <p>Wrap inline snippets of code with <code>&lt;code&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="inline-code">
For example, <code>&lt;section&gt;</code> should be wrapped as inline. For example, <code>&lt;section&gt;</code> should be wrapped as inline.
</div> </div>
{% highlight html %} {% highlight html %}
@ -12,7 +12,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
<h2 id="code-user-input">User input</h2> <h2 id="code-user-input">User input</h2>
<p>Use the <code>&lt;kbd&gt;</code> to indicate input that is typically entered via keyboard.</p> <p>Use the <code>&lt;kbd&gt;</code> to indicate input that is typically entered via keyboard.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-kbd">
To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br> To switch directories, type <kbd>cd</kbd> followed by the name of the directory.<br>
To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd> To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
</div> </div>
@ -23,7 +23,7 @@ To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
<h2 id="code-block">Basic block</h2> <h2 id="code-block">Basic block</h2>
<p>Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.</p> <p>Use <code>&lt;pre&gt;</code> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-pre">
<pre>&lt;p&gt;Sample text here...&lt;/p&gt;</pre> <pre>&lt;p&gt;Sample text here...&lt;/p&gt;</pre>
</div> </div>
{% highlight html %} {% highlight html %}
@ -33,7 +33,7 @@ To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
<p>You may optionally add the <code>.pre-scrollable</code> class, which will set a max-height of 350px and provide a y-axis scrollbar.</p> <p>You may optionally add the <code>.pre-scrollable</code> class, which will set a max-height of 350px and provide a y-axis scrollbar.</p>
<h2 id="code-variables">Variables</h2> <h2 id="code-variables">Variables</h2>
<p>For indicating variables use the <code>&lt;var&gt;</code> tag.</p> <p>For indicating variables use the <code>&lt;var&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-var">
<p><var>y</var> = <var>m</var><var>x</var> + <var>b</var></p> <p><var>y</var> = <var>m</var><var>x</var> + <var>b</var></p>
</div> </div>
@ -43,7 +43,7 @@ To edit settings, press <kbd><kbd>ctrl</kbd> + <kbd>,</kbd></kbd>
<h2 id="code-sample-output">Sample output</h2> <h2 id="code-sample-output">Sample output</h2>
<p>For indicating blocks sample output from a program use the <code>&lt;samp&gt;</code> tag.</p> <p>For indicating blocks sample output from a program use the <code>&lt;samp&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-samp">
<p><samp>This text is meant to be treated as sample output from a computer program.</samp></p> <p><samp>This text is meant to be treated as sample output from a computer program.</samp></p>
</div> </div>
{% highlight html %} {% highlight html %}

View File

@ -3,7 +3,7 @@
<h2 id="forms-example">Basic example</h2> <h2 id="forms-example">Basic example</h2>
<p>Individual form controls automatically receive some global styling. All textual <code>&lt;input&gt;</code>, <code>&lt;textarea&gt;</code>, and <code>&lt;select&gt;</code> elements with <code>.form-control</code> are set to <code>width: 100%;</code> by default. Wrap labels and controls in <code>.form-group</code> for optimum spacing.</p> <p>Individual form controls automatically receive some global styling. All textual <code>&lt;input&gt;</code>, <code>&lt;textarea&gt;</code>, and <code>&lt;select&gt;</code> elements with <code>.form-control</code> are set to <code>width: 100%;</code> by default. Wrap labels and controls in <code>.form-group</code> for optimum spacing.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="basic-forms">
<form> <form>
<div class="form-group"> <div class="form-group">
<label for="exampleInputEmail1">Email address</label> <label for="exampleInputEmail1">Email address</label>
@ -56,24 +56,52 @@
<h2 id="forms-inline">Inline form</h2> <h2 id="forms-inline">Inline form</h2>
<p>Add <code>.form-inline</code> to your <code>&lt;form&gt;</code> for left-aligned and inline-block controls. <strong>This only applies to forms within viewports that are at least 768px wide.</strong></p> <p>Add <code>.form-inline</code> to your form (which doesn't have to be a <code>&lt;form&gt;</code>) for left-aligned and inline-block controls. <strong>This only applies to forms within viewports that are at least 768px wide.</strong></p>
<div class="bs-callout bs-callout-danger" id="callout-inline-form-width"> <div class="bs-callout bs-callout-danger" id="callout-inline-form-width">
<h4>Requires custom widths</h4> <h4>May require custom widths</h4>
<p>Inputs and selects have <code>width: 100%;</code> applied by default in Bootstrap. Within inline forms, we reset that to <code>width: auto;</code> so multiple controls can reside on the same line. Depending on your layout, additional custom widths may be required.</p> <p>Inputs and selects have <code>width: 100%;</code> applied by default in Bootstrap. Within inline forms, we reset that to <code>width: auto;</code> so multiple controls can reside on the same line. Depending on your layout, additional custom widths may be required.</p>
</div> </div>
<div class="bs-callout bs-callout-warning" id="callout-inline-form-labels"> <div class="bs-callout bs-callout-warning" id="callout-inline-form-labels">
<h4>Always add labels</h4> <h4>Always add labels</h4>
<p>Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the <code>.sr-only</code> class. There are further alternative methods of providing a label for assistive technologies, such as the <code>aria-label</code>, <code>aria-labelledby</code> or <code>title</code> attribute. If none of these is present, screen readers may resort to using the <code>placeholder</code> attribute, if present, but note that use of <code>placeholder</code> as a replacement for other labelling methods is not advised.</p> <p>Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the <code>.sr-only</code> class. There are further alternative methods of providing a label for assistive technologies, such as the <code>aria-label</code>, <code>aria-labelledby</code> or <code>title</code> attribute. If none of these is present, screen readers may resort to using the <code>placeholder</code> attribute, if present, but note that use of <code>placeholder</code> as a replacement for other labelling methods is not advised.</p>
</div> </div>
<div class="bs-example">
<div class="bs-example" data-example-id="simple-form-inline">
<form class="form-inline"> <form class="form-inline">
<div class="form-group"> <div class="form-group">
<label class="sr-only" for="exampleInputEmail2">Email address</label> <label for="exampleInputName2">Name</label>
<input type="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email"> <input type="text" class="form-control" id="exampleInputName2" placeholder="Jane Doe">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="sr-only" for="exampleInputPassword2">Password</label> <label for="exampleInputEmail2">Email</label>
<input type="password" class="form-control" id="exampleInputPassword2" placeholder="Password"> <input type="email" class="form-control" id="exampleInputEmail2" placeholder="jane.doe@example.com">
</div>
<button type="submit" class="btn btn-default">Send invitation</button>
</form>
</div><!-- /example -->
{% highlight html %}
<form class="form-inline">
<div class="form-group">
<label for="exampleInputName2">Name</label>
<input type="text" class="form-control" id="exampleInputName2" placeholder="Jane Doe">
</div>
<div class="form-group">
<label for="exampleInputEmail2">Email</label>
<input type="email" class="form-control" id="exampleInputEmail2" placeholder="jane.doe@example.com">
</div>
<button type="submit" class="btn btn-default">Send invitation</button>
</form>
{% endhighlight %}
<div class="bs-example" data-example-id="simple-form-inline">
<form class="form-inline">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail3">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail3" placeholder="Enter email">
</div>
<div class="form-group">
<label class="sr-only" for="exampleInputPassword3">Password</label>
<input type="password" class="form-control" id="exampleInputPassword3" placeholder="Password">
</div> </div>
<div class="checkbox"> <div class="checkbox">
<label> <label>
@ -86,12 +114,12 @@
{% highlight html %} {% highlight html %}
<form class="form-inline"> <form class="form-inline">
<div class="form-group"> <div class="form-group">
<label class="sr-only" for="exampleInputEmail2">Email address</label> <label class="sr-only" for="exampleInputEmail3">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email"> <input type="email" class="form-control" id="exampleInputEmail3" placeholder="Enter email">
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="sr-only" for="exampleInputPassword2">Password</label> <label class="sr-only" for="exampleInputPassword3">Password</label>
<input type="password" class="form-control" id="exampleInputPassword2" placeholder="Password"> <input type="password" class="form-control" id="exampleInputPassword3" placeholder="Password">
</div> </div>
<div class="checkbox"> <div class="checkbox">
<label> <label>
@ -102,7 +130,7 @@
</form> </form>
{% endhighlight %} {% endhighlight %}
<div class="bs-example"> <div class="bs-example" data-example-id="form-inline-with-input-group">
<form class="form-inline"> <form class="form-inline">
<div class="form-group"> <div class="form-group">
<label class="sr-only" for="exampleInputAmount">Amount (in dollars)</label> <label class="sr-only" for="exampleInputAmount">Amount (in dollars)</label>
@ -130,8 +158,8 @@
{% endhighlight %} {% endhighlight %}
<h2 id="forms-horizontal">Horizontal form</h2> <h2 id="forms-horizontal">Horizontal form</h2>
<p>Use Bootstrap's predefined grid classes to align labels and groups of form controls in a horizontal layout by adding <code>.form-horizontal</code> to the form. Doing so changes <code>.form-group</code>s to behave as grid rows, so no need for <code>.row</code>.</p> <p>Use Bootstrap's predefined grid classes to align labels and groups of form controls in a horizontal layout by adding <code>.form-horizontal</code> to the form (which doesn't have to be a <code>&lt;form&gt;</code>). Doing so changes <code>.form-group</code>s to behave as grid rows, so no need for <code>.row</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-horizontal-form">
<form class="form-horizontal"> <form class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label> <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
@ -202,7 +230,7 @@
<h4>Type declaration required</h4> <h4>Type declaration required</h4>
<p>Inputs will only be fully styled if their <code>type</code> is properly declared.</p> <p>Inputs will only be fully styled if their <code>type</code> is properly declared.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="text-form-control">
<form> <form>
<input type="text" class="form-control" placeholder="Text input"> <input type="text" class="form-control" placeholder="Text input">
</form> </form>
@ -217,7 +245,7 @@
<h3>Textarea</h3> <h3>Textarea</h3>
<p>Form control which supports multiple lines of text. Change <code>rows</code> attribute as necessary.</p> <p>Form control which supports multiple lines of text. Change <code>rows</code> attribute as necessary.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="textarea-form-control">
<form> <form>
<textarea class="form-control" rows="3" placeholder="Textarea"></textarea> <textarea class="form-control" rows="3" placeholder="Textarea"></textarea>
</form> </form>
@ -230,7 +258,7 @@
<p>Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many.</p> <p>Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many.</p>
<p>A checkbox or radio with the <code>disabled</code> attribute will be styled appropriately. To have the <code>&lt;label&gt;</code> for the checkbox or radio also display a "not-allowed" cursor when the user hovers over the label, add the <code>.disabled</code> class to your <code>.radio</code>, <code>.radio-inline</code>, <code>.checkbox</code>, <code>.checkbox-inline</code>, or <code>&lt;fieldset&gt;</code>.</p> <p>A checkbox or radio with the <code>disabled</code> attribute will be styled appropriately. To have the <code>&lt;label&gt;</code> for the checkbox or radio also display a "not-allowed" cursor when the user hovers over the label, add the <code>.disabled</code> class to your <code>.radio</code>, <code>.radio-inline</code>, <code>.checkbox</code>, <code>.checkbox-inline</code>, or <code>&lt;fieldset&gt;</code>.</p>
<h4>Default (stacked)</h4> <h4>Default (stacked)</h4>
<div class="bs-example"> <div class="bs-example" data-example-id="block-checkboxes-radios">
<form> <form>
<div class="checkbox"> <div class="checkbox">
<label> <label>
@ -301,7 +329,7 @@
<h4>Inline checkboxes and radios</h4> <h4>Inline checkboxes and radios</h4>
<p>Use the <code>.checkbox-inline</code> or <code>.radio-inline</code> classes on a series of checkboxes or radios for controls that appear on the same line.</p> <p>Use the <code>.checkbox-inline</code> or <code>.radio-inline</code> classes on a series of checkboxes or radios for controls that appear on the same line.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="inline-checkboxes-radios">
<form> <form>
<label class="checkbox-inline"> <label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox1" value="option1"> 1 <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
@ -350,7 +378,7 @@
<h4>Checkboxes and radios without label text</h4> <h4>Checkboxes and radios without label text</h4>
<p>Should you have no text within the <code>&lt;label&gt;</code>, the input is positioned as you'd expect. <strong>Currently only works on non-inline checkboxes and radios.</strong> Remember to still provide some form of label for assistive technologies (for instance, using <code>aria-label</code>).</p> <p>Should you have no text within the <code>&lt;label&gt;</code>, the input is positioned as you'd expect. <strong>Currently only works on non-inline checkboxes and radios.</strong> Remember to still provide some form of label for assistive technologies (for instance, using <code>aria-label</code>).</p>
<div class="bs-example"> <div class="bs-example" data-example-id="checkboxes-radios-without-labels">
<form> <form>
<div class="checkbox"> <div class="checkbox">
<label> <label>
@ -378,8 +406,8 @@
{% endhighlight %} {% endhighlight %}
<h3>Selects</h3> <h3>Selects</h3>
<p>Use the default option, or add <code>multiple</code> to show multiple options at once.</p> <p>Note that many native select menus—namely in Safari and Chrome—have rounded corners that cannot be modified via <code>border-radius</code> properties.</p>
<div class="bs-example"> <div class="bs-example" data-example-ids="select-form-control">
<form> <form>
<select class="form-control"> <select class="form-control">
<option>1</option> <option>1</option>
@ -388,14 +416,6 @@
<option>4</option> <option>4</option>
<option>5</option> <option>5</option>
</select> </select>
<br>
<select multiple class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</form> </form>
</div><!-- /.bs-example --> </div><!-- /.bs-example -->
{% highlight html %} {% highlight html %}
@ -406,7 +426,23 @@
<option>4</option> <option>4</option>
<option>5</option> <option>5</option>
</select> </select>
{% endhighlight %}
<p>For <code>&lt;select&gt;</code> controls with the <code>multiple</code> attribute, multiple options are shown by default.</p>
<div class="bs-example" data-example-ids="select-multiple-form-control">
<form>
<select multiple class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</form>
</div><!-- /.bs-example -->
{% highlight html %}
<select multiple class="form-control"> <select multiple class="form-control">
<option>1</option> <option>1</option>
<option>2</option> <option>2</option>
@ -419,7 +455,7 @@
<h2 id="forms-controls-static">Static control</h2> <h2 id="forms-controls-static">Static control</h2>
<p>When you need to place plain text next to a form label within a form, use the <code>.form-control-static</code> class on a <code>&lt;p&gt;</code>.</p> <p>When you need to place plain text next to a form label within a form, use the <code>.form-control-static</code> class on a <code>&lt;p&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="horizontal-static-form-control">
<form class="form-horizontal"> <form class="form-horizontal">
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">Email</label> <label class="col-sm-2 control-label">Email</label>
@ -451,7 +487,7 @@
</div> </div>
</form> </form>
{% endhighlight %} {% endhighlight %}
<div class="bs-example"> <div class="bs-example" data-example-id="inline-static-form-control">
<form class="form-inline"> <form class="form-inline">
<div class="form-group"> <div class="form-group">
<label class="sr-only">Email</label> <label class="sr-only">Email</label>
@ -493,7 +529,7 @@
<h2 id="forms-control-disabled">Disabled state</h2> <h2 id="forms-control-disabled">Disabled state</h2>
<p>Add the <code>disabled</code> boolean attribute on an input to prevent user input and trigger a slightly different look.</p> <p>Add the <code>disabled</code> boolean attribute on an input to prevent user input and trigger a slightly different look.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="text-form-control-disabled">
<form> <form>
<input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here…" disabled> <input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here…" disabled>
</form> </form>
@ -515,7 +551,7 @@
<p>While Bootstrap will apply these styles in all browsers, Internet Explorer 11 and below don't fully support the <code>disabled</code> attribute on a <code>&lt;fieldset&gt;</code>. Use custom JavaScript to disable the fieldset in these browsers.</p> <p>While Bootstrap will apply these styles in all browsers, Internet Explorer 11 and below don't fully support the <code>disabled</code> attribute on a <code>&lt;fieldset&gt;</code>. Use custom JavaScript to disable the fieldset in these browsers.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="disabled-fieldset">
<form> <form>
<fieldset disabled> <fieldset disabled>
<div class="form-group"> <div class="form-group">
@ -563,7 +599,7 @@
<h2 id="forms-control-readonly">Readonly state</h2> <h2 id="forms-control-readonly">Readonly state</h2>
<p>Add the <code>readonly</code> boolean attribute on an input to prevent user input and style the input as disabled.</p> <p>Add the <code>readonly</code> boolean attribute on an input to prevent user input and style the input as disabled.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="readonly-text-form-control">
<form> <form>
<input class="form-control" type="text" placeholder="Readonly input here…" readonly> <input class="form-control" type="text" placeholder="Readonly input here…" readonly>
</form> </form>
@ -582,7 +618,7 @@
<p>Ensure that an alternative indication of state is also provided. For instance, you can include a hint about state in the form control's <code>&lt;label&gt;</code> text itself (as is the case in the following code example), or associate an additional element with textual information about the validation state with the form control using <code>aria-describedby</code> (see the example in the following section). In the case of an error, you could also use the <code>aria-invalid="true"</code> attribute on the form control.</p> <p>Ensure that an alternative indication of state is also provided. For instance, you can include a hint about state in the form control's <code>&lt;label&gt;</code> text itself (as is the case in the following code example), or associate an additional element with textual information about the validation state with the form control using <code>aria-describedby</code> (see the example in the following section). In the case of an error, you could also use the <code>aria-invalid="true"</code> attribute on the form control.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="form-validation-states">
<form> <form>
<div class="form-group has-success"> <div class="form-group has-success">
<label class="control-label" for="inputSuccess1">Input with success</label> <label class="control-label" for="inputSuccess1">Input with success</label>
@ -673,7 +709,7 @@
<p>To ensure that assistive technologies such as screen readers correctly convey the meaning of an icon, additional hidden text should be included with the <code>.sr-only</code> class and explicitly associated with the form control it relates to using <code>aria-describedby</code>. Alternatively, ensure that the meaning (for instance, the fact that there is a warning for a particular text entry field) is conveyed in some other form, such as changing the text of the actual <code>&lt;label&gt;</code> associated with the form control.</p> <p>To ensure that assistive technologies such as screen readers correctly convey the meaning of an icon, additional hidden text should be included with the <code>.sr-only</code> class and explicitly associated with the form control it relates to using <code>aria-describedby</code>. Alternatively, ensure that the meaning (for instance, the fact that there is a warning for a particular text entry field) is conveyed in some other form, such as changing the text of the actual <code>&lt;label&gt;</code> associated with the form control.</p>
<p>Although the following examples already mention the validation state of their respective form controls in the <code>&lt;label&gt;</code> text itself, the above technique (using <code>.sr-only</code> text and <code>aria-describedby</code>) has been included for illustrative purposes.</p> <p>Although the following examples already mention the validation state of their respective form controls in the <code>&lt;label&gt;</code> text itself, the above technique (using <code>.sr-only</code> text and <code>aria-describedby</code>) has been included for illustrative purposes.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="form-validation-states-with-icons">
<form> <form>
<div class="form-group has-success has-feedback"> <div class="form-group has-success has-feedback">
<label class="control-label" for="inputSuccess2">Input with success</label> <label class="control-label" for="inputSuccess2">Input with success</label>
@ -693,6 +729,15 @@
<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span> <span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>
<span id="inputError2Status" class="sr-only">(error)</span> <span id="inputError2Status" class="sr-only">(error)</span>
</div> </div>
<div class="form-group has-success has-feedback">
<label class="control-label" for="inputGroupSuccess1">Input group with success</label>
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess1" aria-describedby="inputGroupSuccess1Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess1Status" class="sr-only">(success)</span>
</div>
</form> </form>
</div> </div>
{% highlight html %} {% highlight html %}
@ -714,10 +759,19 @@
<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span> <span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true"></span>
<span id="inputError2Status" class="sr-only">(error)</span> <span id="inputError2Status" class="sr-only">(error)</span>
</div> </div>
<div class="form-group has-success has-feedback">
<label class="control-label" for="inputGroupSuccess1">Input group with success</label>
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess1" aria-describedby="inputGroupSuccess1Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess1Status" class="sr-only">(success)</span>
</div>
{% endhighlight %} {% endhighlight %}
<h4>Optional icons in horizontal and inline forms</h4> <h4>Optional icons in horizontal and inline forms</h4>
<div class="bs-example"> <div class="bs-example" data-example-id="horizontal-form-validation-state-with-icon">
<form class="form-horizontal"> <form class="form-horizontal">
<div class="form-group has-success has-feedback"> <div class="form-group has-success has-feedback">
<label class="control-label col-sm-3" for="inputSuccess3">Input with success</label> <label class="control-label col-sm-3" for="inputSuccess3">Input with success</label>
@ -727,6 +781,17 @@
<span id="inputSuccess3Status" class="sr-only">(success)</span> <span id="inputSuccess3Status" class="sr-only">(success)</span>
</div> </div>
</div> </div>
<div class="form-group has-success has-feedback">
<label class="control-label col-sm-3" for="inputGroupSuccess2">Input group with success</label>
<div class="col-sm-9">
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess2" aria-describedby="inputGroupSuccess2Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess2Status" class="sr-only">(success)</span>
</div>
</div>
</form> </form>
</div> </div>
{% highlight html %} {% highlight html %}
@ -739,10 +804,21 @@
<span id="inputSuccess3Status" class="sr-only">(success)</span> <span id="inputSuccess3Status" class="sr-only">(success)</span>
</div> </div>
</div> </div>
<div class="form-group has-success has-feedback">
<label class="control-label col-sm-3" for="inputGroupSuccess2">Input group with success</label>
<div class="col-sm-9">
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess2" aria-describedby="inputGroupSuccess2Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess2Status" class="sr-only">(success)</span>
</div>
</div>
</form> </form>
{% endhighlight %} {% endhighlight %}
<div class="bs-example"> <div class="bs-example" data-example-id="inline-form-validation-state-with-icon">
<form class="form-inline"> <form class="form-inline">
<div class="form-group has-success has-feedback"> <div class="form-group has-success has-feedback">
<label class="control-label" for="inputSuccess4">Input with success</label> <label class="control-label" for="inputSuccess4">Input with success</label>
@ -751,6 +827,18 @@
<span id="inputSuccess4Status" class="sr-only">(success)</span> <span id="inputSuccess4Status" class="sr-only">(success)</span>
</div> </div>
</form> </form>
<br>
<form class="form-inline">
<div class="form-group has-success has-feedback">
<label class="control-label" for="inputGroupSuccess3">Input group with success</label>
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess3" aria-describedby="inputGroupSuccess3Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess3Status" class="sr-only">(success)</span>
</div>
</form>
</div> </div>
{% highlight html %} {% highlight html %}
<form class="form-inline"> <form class="form-inline">
@ -761,17 +849,37 @@
<span id="inputSuccess4Status" class="sr-only">(success)</span> <span id="inputSuccess4Status" class="sr-only">(success)</span>
</div> </div>
</form> </form>
<form class="form-inline">
<div class="form-group has-success has-feedback">
<label class="control-label" for="inputGroupSuccess3">Input group with success</label>
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess3" aria-describedby="inputGroupSuccess3Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess3Status" class="sr-only">(success)</span>
</div>
</form>
{% endhighlight %} {% endhighlight %}
<h4>Optional icons with hidden <code>.sr-only</code> labels</h4> <h4>Optional icons with hidden <code>.sr-only</code> labels</h4>
<p>For form controls with no visible label, add the <code>.sr-only</code> class on the label. Bootstrap will automatically adjust the position of the icon once it's been added.</p> <p>If you use the <code>.sr-only</code> class to hide a form control's <code>&lt;label&gt;</code> (rather than using other labelling options, such as the <code>aria-label</code> attribute), Bootstrap will automatically adjust the position of the icon once it's been added.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="form-validation-state-with-icon-without-label">
<div class="form-group has-success has-feedback"> <div class="form-group has-success has-feedback">
<label class="control-label sr-only" for="inputSuccess5">Hidden label</label> <label class="control-label sr-only" for="inputSuccess5">Hidden label</label>
<input type="text" class="form-control" id="inputSuccess5" aria-describedby="inputSuccess5Status"> <input type="text" class="form-control" id="inputSuccess5" aria-describedby="inputSuccess5Status">
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span> <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputSuccess5Status" class="sr-only">(success)</span> <span id="inputSuccess5Status" class="sr-only">(success)</span>
</div> </div>
<div class="form-group has-success has-feedback">
<label class="control-label sr-only" for="inputGroupSuccess4">Input group with success</label>
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess4" aria-describedby="inputGroupSuccess4Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess4Status" class="sr-only">(success)</span>
</div>
</div> </div>
{% highlight html %} {% highlight html %}
<div class="form-group has-success has-feedback"> <div class="form-group has-success has-feedback">
@ -780,6 +888,15 @@
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span> <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputSuccess5Status" class="sr-only">(success)</span> <span id="inputSuccess5Status" class="sr-only">(success)</span>
</div> </div>
<div class="form-group has-success has-feedback">
<label class="control-label sr-only" for="inputGroupSuccess4">Input group with success</label>
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" id="inputGroupSuccess4" aria-describedby="inputGroupSuccess4Status">
</div>
<span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
<span id="inputGroupSuccess4Status" class="sr-only">(success)</span>
</div>
{% endhighlight %} {% endhighlight %}
@ -788,7 +905,7 @@
<h3>Height sizing</h3> <h3>Height sizing</h3>
<p>Create taller or shorter form controls that match button sizes.</p> <p>Create taller or shorter form controls that match button sizes.</p>
<div class="bs-example bs-example-control-sizing"> <div class="bs-example bs-example-control-sizing" data-example-id="form-control-height-sizes">
<form> <form>
<div class="controls"> <div class="controls">
<input class="form-control input-lg" type="text" placeholder=".input-lg"> <input class="form-control input-lg" type="text" placeholder=".input-lg">
@ -819,7 +936,7 @@
<h3>Horizontal form group sizes</h3> <h3>Horizontal form group sizes</h3>
<p>Quickly size labels and form controls within <code>.form-horizontal</code> by adding <code>.form-group-lg</code> or <code>.form-group-sm</code>.</p> <p>Quickly size labels and form controls within <code>.form-horizontal</code> by adding <code>.form-group-lg</code> or <code>.form-group-sm</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="form-group-height-sizes">
<form class="form-horizontal"> <form class="form-horizontal">
<div class="form-group form-group-lg"> <div class="form-group form-group-lg">
<label class="col-sm-2 control-label" for="formGroupInputLarge">Large label</label> <label class="col-sm-2 control-label" for="formGroupInputLarge">Large label</label>
@ -855,7 +972,7 @@
<h3>Column sizing</h3> <h3>Column sizing</h3>
<p>Wrap inputs in grid columns, or any custom parent element, to easily enforce desired widths.</p> <p>Wrap inputs in grid columns, or any custom parent element, to easily enforce desired widths.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="form-control-column-sizing">
<form> <form>
<div class="row"> <div class="row">
<div class="col-xs-2"> <div class="col-xs-2">
@ -890,7 +1007,7 @@
<h4>Associating help text with form controls</h4> <h4>Associating help text with form controls</h4>
<p>Help text should be explicitly associated with the form control it relates to using the <code>aria-describedby</code> attribute. This will ensure that assistive technologies such as screen readers will announce this help text when the user focuses or enters the control.</p> <p>Help text should be explicitly associated with the form control it relates to using the <code>aria-describedby</code> attribute. This will ensure that assistive technologies such as screen readers will announce this help text when the user focuses or enters the control.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-help-text">
<form> <form>
<div class="form-group"> <div class="form-group">
<label for="inputHelpBlock">Input with help text</label> <label for="inputHelpBlock">Input with help text</label>

View File

@ -14,7 +14,7 @@
<li>The negative margin is why the examples below are outdented. It's so that content within grid columns is lined up with non-grid content.</li> <li>The negative margin is why the examples below are outdented. It's so that content within grid columns is lined up with non-grid content.</li>
<li>Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three <code>.col-xs-4</code>.</li> <li>Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three <code>.col-xs-4</code>.</li>
<li>If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.</li> <li>If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.</li>
<li>Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, applying any <code>.col-md-</code> class to an element will not only affect its styling on medium devices but also on large devices if a <code>.col-lg-</code> class is not present.</li> <li>Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, e.g. applying any <code>.col-md-*</code> class to an element will not only affect its styling on medium devices but also on large devices if a <code>.col-lg-*</code> class is not present.</li>
</ul> </ul>
<p>Look to the examples for applying these principles to your code.</p> <p>Look to the examples for applying these principles to your code.</p>
@ -347,7 +347,7 @@
<h3 id="grid-nesting">Nesting columns</h3> <h3 id="grid-nesting">Nesting columns</h3>
<p>To nest your content with the default grid, add a new <code>.row</code> and set of <code>.col-sm-*</code> columns within an existing <code>.col-sm-*</code> column. Nested rows should include a set of columns that add up to 12 or less (it is not required that you use all 12 available columns).</p> <p>To nest your content with the default grid, add a new <code>.row</code> and set of <code>.col-sm-*</code> columns within an existing <code>.col-sm-*</code> column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).</p>
<div class="row show-grid"> <div class="row show-grid">
<div class="col-sm-9"> <div class="col-sm-9">
Level 1: .col-sm-9 Level 1: .col-sm-9

View File

@ -3,7 +3,7 @@
<h3 id="helper-classes-colors">Contextual colors</h3> <h3 id="helper-classes-colors">Contextual colors</h3>
<p>Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.</p> <p>Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="contextual-colors-helpers">
<p class="text-muted">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p> <p class="text-muted">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p>
<p class="text-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p> <p class="text-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p> <p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
@ -30,7 +30,7 @@
<h3 id="helper-classes-backgrounds">Contextual backgrounds</h3> <h3 id="helper-classes-backgrounds">Contextual backgrounds</h3>
<p>Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.</p> <p>Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.</p>
<div class="bs-example bs-example-bg-classes"> <div class="bs-example bs-example-bg-classes" data-example-id="contextual-backgrounds-helpers">
<p class="bg-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p> <p class="bg-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
<p class="bg-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p> <p class="bg-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
<p class="bg-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</p> <p class="bg-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
@ -55,17 +55,17 @@
<h3 id="helper-classes-close">Close icon</h3> <h3 id="helper-classes-close">Close icon</h3>
<p>Use the generic close icon for dismissing content like modals and alerts.</p> <p>Use the generic close icon for dismissing content like modals and alerts.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="close-icon">
<p><button type="button" class="close"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button></p> <p><button type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button></p>
</div> </div>
{% highlight html %} {% highlight html %}
<button type="button" class="close"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button>
{% endhighlight %} {% endhighlight %}
<h3 id="helper-classes-carets">Carets</h3> <h3 id="helper-classes-carets">Carets</h3>
<p>Use carets to indicate dropdown functionality and direction. Note that the default caret will reverse automatically in <a href="../components/#btn-dropdowns-dropup">dropup menus</a>.</p> <p>Use carets to indicate dropdown functionality and direction. Note that the default caret will reverse automatically in <a href="../components/#btn-dropdowns-dropup">dropup menus</a>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="caret">
<span class="caret"></span> <span class="caret"></span>
</div> </div>
{% highlight html %} {% highlight html %}

View File

@ -17,7 +17,7 @@
<h4>Cross-browser compatibility</h4> <h4>Cross-browser compatibility</h4>
<p>Keep in mind that Internet Explorer 8 lacks support for rounded corners.</p> <p>Keep in mind that Internet Explorer 8 lacks support for rounded corners.</p>
</div> </div>
<div class="bs-example bs-example-images"> <div class="bs-example bs-example-images" data-example-id="image-shapes">
<img data-src="holder.js/140x140" class="img-rounded" alt="A generic square placeholder image with rounded corners"> <img data-src="holder.js/140x140" class="img-rounded" alt="A generic square placeholder image with rounded corners">
<img data-src="holder.js/140x140" class="img-circle" alt="A generic square placeholder image where only the portion within the circle circumscribed about said square is visible"> <img data-src="holder.js/140x140" class="img-circle" alt="A generic square placeholder image where only the portion within the circle circumscribed about said square is visible">
<img data-src="holder.js/140x140" class="img-thumbnail" alt="A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera"> <img data-src="holder.js/140x140" class="img-thumbnail" alt="A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera">

View File

@ -42,7 +42,7 @@
</div> </div>
</div> </div>
{% highlight scss %} {% highlight scss %}
@brand-primary: #428bca; @brand-primary: darken(#428bca, 6.5%); // #337ab7
@brand-success: #5cb85c; @brand-success: #5cb85c;
@brand-info: #5bc0de; @brand-info: #5bc0de;
@brand-warning: #f0ad4e; @brand-warning: #f0ad4e;

View File

@ -3,7 +3,7 @@
<h2 id="tables-example">Basic example</h2> <h2 id="tables-example">Basic example</h2>
<p>For basic styling&mdash;light padding and only horizontal dividers&mdash;add the base class <code>.table</code> to any <code>&lt;table&gt;</code>. It may seem super redundant, but given the widespread use of tables for other plugins like calendars and date pickers, we've opted to isolate our custom table styles.</p> <p>For basic styling&mdash;light padding and only horizontal dividers&mdash;add the base class <code>.table</code> to any <code>&lt;table&gt;</code>. It may seem super redundant, but given the widespread use of tables for other plugins like calendars and date pickers, we've opted to isolate our custom table styles.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-table">
<table class="table"> <table class="table">
<caption>Optional table caption.</caption> <caption>Optional table caption.</caption>
<thead> <thead>
@ -49,7 +49,7 @@
<h4>Cross-browser compatibility</h4> <h4>Cross-browser compatibility</h4>
<p>Striped tables are styled via the <code>:nth-child</code> CSS selector, which is not available in Internet Explorer 8.</p> <p>Striped tables are styled via the <code>:nth-child</code> CSS selector, which is not available in Internet Explorer 8.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="striped-table">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
@ -90,7 +90,7 @@
<h2 id="tables-bordered">Bordered table</h2> <h2 id="tables-bordered">Bordered table</h2>
<p>Add <code>.table-bordered</code> for borders on all sides of the table and cells.</p> <p>Add <code>.table-bordered</code> for borders on all sides of the table and cells.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="bordered-table">
<table class="table table-bordered"> <table class="table table-bordered">
<thead> <thead>
<tr> <tr>
@ -131,7 +131,7 @@
<h2 id="tables-hover-rows">Hover rows</h2> <h2 id="tables-hover-rows">Hover rows</h2>
<p>Add <code>.table-hover</code> to enable a hover state on table rows within a <code>&lt;tbody&gt;</code>.</p> <p>Add <code>.table-hover</code> to enable a hover state on table rows within a <code>&lt;tbody&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="hoverable-table">
<table class="table table-hover"> <table class="table table-hover">
<thead> <thead>
<tr> <tr>
@ -172,7 +172,7 @@
<h2 id="tables-condensed">Condensed table</h2> <h2 id="tables-condensed">Condensed table</h2>
<p>Add <code>.table-condensed</code> to make tables more compact by cutting cell padding in half.</p> <p>Add <code>.table-condensed</code> to make tables more compact by cutting cell padding in half.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="condensed-table">
<table class="table table-condensed"> <table class="table table-condensed">
<thead> <thead>
<tr> <tr>
@ -258,7 +258,7 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="contextual-table">
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
@ -351,6 +351,10 @@
<h2 id="tables-responsive">Responsive tables</h2> <h2 id="tables-responsive">Responsive tables</h2>
<p>Create responsive tables by wrapping any <code>.table</code> in <code>.table-responsive</code> to make them scroll horizontally on small devices (under 768px). When viewing on anything larger than 768px wide, you will not see any difference in these tables.</p> <p>Create responsive tables by wrapping any <code>.table</code> in <code>.table-responsive</code> to make them scroll horizontally on small devices (under 768px). When viewing on anything larger than 768px wide, you will not see any difference in these tables.</p>
<div class="bs-callout bs-callout-warning" id="callout-tables-responsive-overflow">
<h4>Vertical clipping/truncation</h4>
<p>Responsive tables make use of <code>overflow-y: hidden</code>, which clips off any content that goes beyond the bottom or top edges of the table. In particular, this can clip off dropdown menus and other third-party widgets.</p>
</div>
<div class="bs-callout bs-callout-warning" id="callout-tables-responsive-ff-fieldset"> <div class="bs-callout bs-callout-warning" id="callout-tables-responsive-ff-fieldset">
<h4>Firefox and fieldsets</h4> <h4>Firefox and fieldsets</h4>
<p>Firefox has some awkward fieldset styling involving <code>width</code> that interferes with the responsive table. This cannot be overriden without a Firefox-specific hack that we <strong>don't</strong> provide in Bootstrap:</p> <p>Firefox has some awkward fieldset styling involving <code>width</code> that interferes with the responsive table. This cannot be overriden without a Firefox-specific hack that we <strong>don't</strong> provide in Bootstrap:</p>
@ -362,7 +366,7 @@
<p>For more information, read <a href="http://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685#17863685">this Stack Overflow answer</a>.</p> <p>For more information, read <a href="http://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685#17863685">this Stack Overflow answer</a>.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-responsive-table">
<div class="table-responsive"> <div class="table-responsive">
<table class="table"> <table class="table">
<thead> <thead>

View File

@ -4,7 +4,7 @@
<!-- Headings --> <!-- Headings -->
<h2 id="type-headings">Headings</h2> <h2 id="type-headings">Headings</h2>
<p>All HTML headings, <code>&lt;h1&gt;</code> through <code>&lt;h6&gt;</code>, are available. <code>.h1</code> through <code>.h6</code> classes are also available, for when you want to match the font styling of a heading but still want your text to be displayed inline.</p> <p>All HTML headings, <code>&lt;h1&gt;</code> through <code>&lt;h6&gt;</code>, are available. <code>.h1</code> through <code>.h6</code> classes are also available, for when you want to match the font styling of a heading but still want your text to be displayed inline.</p>
<div class="bs-example bs-example-type"> <div class="bs-example bs-example-type" data-example-id="simple-headings">
<table class="table"> <table class="table">
<tbody> <tbody>
<tr> <tr>
@ -44,7 +44,7 @@
{% endhighlight %} {% endhighlight %}
<p>Create lighter, secondary text in any heading with a generic <code>&lt;small&gt;</code> tag or the <code>.small</code> class.</p> <p>Create lighter, secondary text in any heading with a generic <code>&lt;small&gt;</code> tag or the <code>.small</code> class.</p>
<div class="bs-example bs-example-type"> <div class="bs-example bs-example-type" data-example-id="small-headings">
<table class="table"> <table class="table">
<tbody> <tbody>
<tr> <tr>
@ -81,7 +81,7 @@
<!-- Body copy --> <!-- Body copy -->
<h2 id="type-body-copy">Body copy</h2> <h2 id="type-body-copy">Body copy</h2>
<p>Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>1.428</strong>. This is applied to the <code>&lt;body&gt;</code> and all paragraphs. In addition, <code>&lt;p&gt;</code> (paragraphs) receive a bottom margin of half their computed line-height (10px by default).</p> <p>Bootstrap's global default <code>font-size</code> is <strong>14px</strong>, with a <code>line-height</code> of <strong>1.428</strong>. This is applied to the <code>&lt;body&gt;</code> and all paragraphs. In addition, <code>&lt;p&gt;</code> (paragraphs) receive a bottom margin of half their computed line-height (10px by default).</p>
<div class="bs-example"> <div class="bs-example" data-example-id="body-copy">
<p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.</p> <p>Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.</p>
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.</p> <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.</p>
<p>Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p> <p>Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</p>
@ -93,7 +93,7 @@
<!-- Body copy .lead --> <!-- Body copy .lead -->
<h3>Lead body copy</h3> <h3>Lead body copy</h3>
<p>Make a paragraph stand out by adding <code>.lead</code>.</p> <p>Make a paragraph stand out by adding <code>.lead</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="lead-copy">
<p class="lead">Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus.</p> <p class="lead">Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus.</p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -108,7 +108,7 @@
<h2 id="type-inline-text">Inline text elements</h2> <h2 id="type-inline-text">Inline text elements</h2>
<h3>Marked text</h3> <h3>Marked text</h3>
<p>For highlighting a run of text due to its relevance in another context, use the <code>&lt;mark&gt;</code> tag.</p> <p>For highlighting a run of text due to its relevance in another context, use the <code>&lt;mark&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-mark">
<p>You can use the mark tag to <mark>highlight</mark> text.</p> <p>You can use the mark tag to <mark>highlight</mark> text.</p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -118,7 +118,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Deleted text</h3> <h3>Deleted text</h3>
<p>For indicating blocks of text that have been deleted use the <code>&lt;del&gt;</code> tag.</p> <p>For indicating blocks of text that have been deleted use the <code>&lt;del&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-del">
<p><del>This line of text is meant to be treated as deleted text.</del></p> <p><del>This line of text is meant to be treated as deleted text.</del></p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -127,7 +127,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Strikethrough text</h3> <h3>Strikethrough text</h3>
<p>For indicating blocks of text that are no longer relevant use the <code>&lt;s&gt;</code> tag.</p> <p>For indicating blocks of text that are no longer relevant use the <code>&lt;s&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-s">
<p><s>This line of text is meant to be treated as no longer accurate.</s></p> <p><s>This line of text is meant to be treated as no longer accurate.</s></p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -136,7 +136,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Inserted text</h3> <h3>Inserted text</h3>
<p>For indicating additions to the document use the <code>&lt;ins&gt;</code> tag.</p> <p>For indicating additions to the document use the <code>&lt;ins&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-ins">
<p><ins>This line of text is meant to be treated as an addition to the document.</ins></p> <p><ins>This line of text is meant to be treated as an addition to the document.</ins></p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -145,7 +145,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Underlined text</h3> <h3>Underlined text</h3>
<p>To underline text use the <code>&lt;u&gt;</code> tag.</p> <p>To underline text use the <code>&lt;u&gt;</code> tag.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-u">
<p><u>This line of text will render as underlined</u></p> <p><u>This line of text will render as underlined</u></p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -157,7 +157,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Small text</h3> <h3>Small text</h3>
<p>For de-emphasizing inline or blocks of text, use the <code>&lt;small&gt;</code> tag to set text at 85% the size of the parent. Heading elements receive their own <code>font-size</code> for nested <code>&lt;small&gt;</code> elements.</p> <p>For de-emphasizing inline or blocks of text, use the <code>&lt;small&gt;</code> tag to set text at 85% the size of the parent. Heading elements receive their own <code>font-size</code> for nested <code>&lt;small&gt;</code> elements.</p>
<p>You may alternatively use an inline element with <code>.small</code> in place of any <code>&lt;small&gt;</code>.</p> <p>You may alternatively use an inline element with <code>.small</code> in place of any <code>&lt;small&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-small">
<p><small>This line of text is meant to be treated as fine print.</small></p> <p><small>This line of text is meant to be treated as fine print.</small></p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -167,7 +167,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Bold</h3> <h3>Bold</h3>
<p>For emphasizing a snippet of text with a heavier font-weight.</p> <p>For emphasizing a snippet of text with a heavier font-weight.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-strong">
<p>The following snippet of text is <strong>rendered as bold text</strong>.</p> <p>The following snippet of text is <strong>rendered as bold text</strong>.</p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -176,7 +176,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Italics</h3> <h3>Italics</h3>
<p>For emphasizing a snippet of text with italics.</p> <p>For emphasizing a snippet of text with italics.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-em">
<p>The following snippet of text is <em>rendered as italicized text</em>.</p> <p>The following snippet of text is <em>rendered as italicized text</em>.</p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -190,7 +190,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h2 id="type-alignment">Alignment classes</h2> <h2 id="type-alignment">Alignment classes</h2>
<p>Easily realign text to components with text alignment classes.</p> <p>Easily realign text to components with text alignment classes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="text-alignment">
<p class="text-left">Left aligned text.</p> <p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p> <p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p> <p class="text-right">Right aligned text.</p>
@ -207,7 +207,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h2 id="type-transformation">Transformation classes</h2> <h2 id="type-transformation">Transformation classes</h2>
<p>Transform text in components with text capitalization classes.</p> <p>Transform text in components with text capitalization classes.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="text-capitalization">
<p class="text-lowercase">Lowercased text.</p> <p class="text-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p> <p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p> <p class="text-capitalize">Capitalized text.</p>
@ -220,11 +220,10 @@ You can use the mark tag to <mark>highlight</mark> text.
<!-- Abbreviations --> <!-- Abbreviations -->
<h2 id="type-abbreviations">Abbreviations</h2> <h2 id="type-abbreviations">Abbreviations</h2>
<p>Stylized implementation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover.</p> <p>Stylized implementation of HTML's <code>&lt;abbr&gt;</code> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover and to users of assistive technologies.</p>
<h3>Basic abbreviation</h3> <h3>Basic abbreviation</h3>
<p>For expanded text on long hover of an abbreviation, include the <code>title</code> attribute with the <code>&lt;abbr&gt;</code> element.</p> <div class="bs-example" data-example-id="simple-abbr">
<div class="bs-example">
<p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p> <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -233,7 +232,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Initialism</h3> <h3>Initialism</h3>
<p>Add <code>.initialism</code> to an abbreviation for a slightly smaller font-size.</p> <p>Add <code>.initialism</code> to an abbreviation for a slightly smaller font-size.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-initialism">
<p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.</p> <p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.</p>
</div> </div>
{% highlight html %} {% highlight html %}
@ -244,7 +243,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<!-- Addresses --> <!-- Addresses -->
<h2 id="type-addresses">Addresses</h2> <h2 id="type-addresses">Addresses</h2>
<p>Present contact information for the nearest ancestor or the entire body of work. Preserve formatting by ending all lines with <code>&lt;br&gt;</code>.</p> <p>Present contact information for the nearest ancestor or the entire body of work. Preserve formatting by ending all lines with <code>&lt;br&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-address">
<address> <address>
<strong>Twitter, Inc.</strong><br> <strong>Twitter, Inc.</strong><br>
795 Folsom Ave, Suite 600<br> 795 Folsom Ave, Suite 600<br>
@ -277,7 +276,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Default blockquote</h3> <h3>Default blockquote</h3>
<p>Wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes, we recommend a <code>&lt;p&gt;</code>.</p> <p>Wrap <code>&lt;blockquote&gt;</code> around any <abbr title="HyperText Markup Language">HTML</abbr> as the quote. For straight quotes, we recommend a <code>&lt;p&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-blockquote">
<blockquote> <blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
</blockquote> </blockquote>
@ -293,7 +292,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h4>Naming a source</h4> <h4>Naming a source</h4>
<p>Add a <code>&lt;footer&gt;</code> for identifying the source. Wrap the name of the source work in <code>&lt;cite&gt;</code>.</p> <p>Add a <code>&lt;footer&gt;</code> for identifying the source. Wrap the name of the source work in <code>&lt;cite&gt;</code>.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="blockquote-cite">
<blockquote> <blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>Someone famous in <cite title="Source Title">Source Title</cite></footer> <footer>Someone famous in <cite title="Source Title">Source Title</cite></footer>
@ -308,7 +307,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h4>Alternate displays</h4> <h4>Alternate displays</h4>
<p>Add <code>.blockquote-reverse</code> for a blockquote with right-aligned content.</p> <p>Add <code>.blockquote-reverse</code> for a blockquote with right-aligned content.</p>
<div class="bs-example" style="overflow: hidden;"> <div class="bs-example" style="overflow: hidden;" data-example-id="blockquote-reverse">
<blockquote class="blockquote-reverse"> <blockquote class="blockquote-reverse">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
<footer>Someone famous in <cite title="Source Title">Source Title</cite></footer> <footer>Someone famous in <cite title="Source Title">Source Title</cite></footer>
@ -326,7 +325,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Unordered</h3> <h3>Unordered</h3>
<p>A list of items in which the order does <em>not</em> explicitly matter.</p> <p>A list of items in which the order does <em>not</em> explicitly matter.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-ul">
<ul> <ul>
<li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li> <li>Consectetur adipiscing elit</li>
@ -353,7 +352,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Ordered</h3> <h3>Ordered</h3>
<p>A list of items in which the order <em>does</em> explicitly matter.</p> <p>A list of items in which the order <em>does</em> explicitly matter.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-ol">
<ol> <ol>
<li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li> <li>Consectetur adipiscing elit</li>
@ -373,7 +372,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Unstyled</h3> <h3>Unstyled</h3>
<p>Remove the default <code>list-style</code> and left margin on list items (immediate children only). <strong>This only applies to immediate children list items</strong>, meaning you will need to add the class for any nested lists as well.</p> <p>Remove the default <code>list-style</code> and left margin on list items (immediate children only). <strong>This only applies to immediate children list items</strong>, meaning you will need to add the class for any nested lists as well.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="unstyled-list">
<ul class="list-unstyled"> <ul class="list-unstyled">
<li>Lorem ipsum dolor sit amet</li> <li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li> <li>Consectetur adipiscing elit</li>
@ -400,7 +399,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Inline</h3> <h3>Inline</h3>
<p>Place all list items on a single line with <code>display: inline-block;</code> and some light padding.</p> <p>Place all list items on a single line with <code>display: inline-block;</code> and some light padding.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="list-inline">
<ul class="list-inline"> <ul class="list-inline">
<li>Lorem ipsum</li> <li>Lorem ipsum</li>
<li>Phasellus iaculis</li> <li>Phasellus iaculis</li>
@ -415,7 +414,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h3>Description</h3> <h3>Description</h3>
<p>A list of terms with their associated descriptions.</p> <p>A list of terms with their associated descriptions.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-dl">
<dl> <dl>
<dt>Description lists</dt> <dt>Description lists</dt>
<dd>A description list is perfect for defining terms.</dd> <dd>A description list is perfect for defining terms.</dd>
@ -435,7 +434,7 @@ You can use the mark tag to <mark>highlight</mark> text.
<h4>Horizontal description</h4> <h4>Horizontal description</h4>
<p>Make terms and descriptions in <code>&lt;dl&gt;</code> line up side-by-side. Starts off stacked like default <code>&lt;dl&gt;</code>s, but when the navbar expands, so do these.</p> <p>Make terms and descriptions in <code>&lt;dl&gt;</code> line up side-by-side. Starts off stacked like default <code>&lt;dl&gt;</code>s, but when the navbar expands, so do these.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="horizontal-dl">
<dl class="dl-horizontal"> <dl class="dl-horizontal">
<dt>Description lists</dt> <dt>Description lists</dt>
<dd>A description list is perfect for defining terms.</dd> <dd>A description list is perfect for defining terms.</dd>

File diff suppressed because it is too large Load Diff

View File

@ -32,7 +32,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
{% if site.github %} {% if site.github %}
<script src="../dist/js/bootstrap.min.js"></script> <script src="../dist/js/bootstrap.min.js"></script>

View File

@ -3,12 +3,13 @@
<p class="lead">Bootstrap follows common web standards and&mdash;with minimal extra effort&mdash;can be used to create sites that are accessible to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.</p> <p class="lead">Bootstrap follows common web standards and&mdash;with minimal extra effort&mdash;can be used to create sites that are accessible to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.</p>
<h3>Skip navigation</h3> <h3>Skip navigation</h3>
<p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to main content</code> link immediately after your opening <code>&lt;body&gt;</code> tag. <a href="http://a11yproject.com/posts/skip-nav-links/">(read why)</a></p> <p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to main content</code> link before the navigation <a href="http://a11yproject.com/posts/skip-nav-links/">(read why)</a>. Using the <code>.sr-only</code> class will visually hide the skip link, and the <code>.sr-only-focusable</code> class will ensure that the link becomes visible once focused (for sighted keyboard users).</p>
{% highlight html %} {% highlight html %}
<body> <body>
<a href="#content" class="sr-only sr-only-focusable">Skip to main content</a> <a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
...
<div class="container" id="content"> <div class="container" id="content">
The main page content. <!-- The main page content -->
</div> </div>
</body> </body>
{% endhighlight %} {% endhighlight %}

View File

@ -2,7 +2,7 @@
<h1 id="disable-responsive" class="page-header">Disabling responsiveness</h1> <h1 id="disable-responsive" class="page-header">Disabling responsiveness</h1>
<p class="lead">Bootstrap automatically adapts your pages for various screen sizes. <p class="lead">Bootstrap automatically adapts your pages for various screen sizes.
Here's how to disable this feature so your page works like in <a href="../examples/non-responsive/">this non-responsive example</a>.</p> Here's how to disable this feature so your page works like <a href="../examples/non-responsive/">this non-responsive example</a>.</p>
<h3>Steps to disable page responsiveness</h3> <h3>Steps to disable page responsiveness</h3>
<ol> <ol>

View File

@ -43,4 +43,17 @@
<h3 id="download-bower">Install with Bower</h3> <h3 id="download-bower">Install with Bower</h3>
<p>You can also install and manage Bootstrap's Less, CSS, JavaScript, and fonts using <a href="http://bower.io">Bower</a>:</p> <p>You can also install and manage Bootstrap's Less, CSS, JavaScript, and fonts using <a href="http://bower.io">Bower</a>:</p>
{% highlight bash %}$ bower install bootstrap{% endhighlight %} {% highlight bash %}$ bower install bootstrap{% endhighlight %}
<h3 id="download-npm">Install with npm</h3>
<p>You can also install Bootstrap using <a href="https://www.npmjs.com">npm</a>:</p>
{% highlight bash %}$ npm install bootstrap{% endhighlight %}
<p><code>require('bootstrap')</code> will load all of Bootstrap's jQuery plugins onto the jQuery object. The <code>bootstrap</code> module itself does not export anything. You can manually load Bootstrap's jQuery plugins individually by loading the <code>/js/*.js</code> files under the package's top-level directory.</p>
<p>Bootstrap's <code>package.json</code> contains some additional metadata under the following keys:</p>
<ul>
<li><code>less</code> - path to Bootstrap's main <a href="http://lesscss.org">Less</a> source file</li>
<li><code>style</code> - path to Bootstrap's non-minified CSS that's been precompiled using the default settings (no customization)</li>
</ul>
<h3 id="download-autoprefixer">Autoprefixer required for Less/Sass</h3>
<p>Bootstrap uses <a href="https://github.com/postcss/autoprefixer">Autoprefixer</a> to deal with <a href="http://webdesign.about.com/od/css/a/css-vendor-prefixes.htm">CSS vendor prefixes</a>. If you're compiling Bootstrap from its Less/Sass source and not using our Gruntfile, you'll need to integrate Autoprefixer into your build process yourself. If you're using precompiled Bootstrap or using our Gruntfile, you don't need to worry about this because Autoprefixer is already integrated into our Gruntfile.</p>
</div> </div>

View File

@ -27,7 +27,7 @@
<h1>Hello, world!</h1> <h1>Hello, world!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed --> <!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script> <script src="js/bootstrap.min.js"></script>
</body> </body>

View File

@ -28,9 +28,11 @@ bootstrap/
├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.ttf
└── glyphicons-halflings-regular.woff ├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
{% endhighlight %} {% endhighlight %}
<!-- NOTE: This info is intentionally duplicated in the README.
Copy any changes made here over to the README too. -->
<p>This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). CSS <a href="https://developers.google.com/chrome-developer-tools/docs/css-preprocessors">source maps</a> (<code>bootstrap.*.map</code>) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.</p> <p>This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (<code>bootstrap.*</code>), as well as compiled and minified CSS and JS (<code>bootstrap.min.*</code>). CSS <a href="https://developers.google.com/chrome-developer-tools/docs/css-preprocessors">source maps</a> (<code>bootstrap.*.map</code>) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.</p>
<h2 id="whats-included-source">Bootstrap source code</h2> <h2 id="whats-included-source">Bootstrap source code</h2>

View File

@ -4,14 +4,14 @@
<h2 id="alerts-examples">Example alerts</h2> <h2 id="alerts-examples">Example alerts</h2>
<p>Add dismiss functionality to all alert messages with this plugin.</p> <p>Add dismiss functionality to all alert messages with this plugin.</p>
<p>When using a <code>.close</code> button, it must be the first child of the <code>.alert-dismissible</code> and no text content may come before it in the markup.</p> <p>When using a <code>.close</code> button, it must be the first child of the <code>.alert-dismissible</code> and no text content may come before it in the markup.</p>
<div class="bs-example bs-example-standalone"> <div class="bs-example bs-example-standalone" data-example-id="dismissible-alert-js">
<div class="alert alert-warning alert-dismissible fade in" role="alert"> <div class="alert alert-warning alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Holy guacamole!</strong> Best check yo self, you're not looking too good. <strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
</div> </div>
<div class="alert alert-danger alert-dismissible fade in" role="alert"> <div class="alert alert-danger alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4>Oh snap! You got an error!</h4> <h4>Oh snap! You got an error!</h4>
<p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p> <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
<p> <p>
@ -27,9 +27,8 @@
<p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality. Closing an alert removes it from the DOM.</p> <p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality. Closing an alert removes it from the DOM.</p>
{% highlight html %} {% highlight html %}
<button type="button" class="close" data-dismiss="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button> </button>
{% endhighlight %} {% endhighlight %}

View File

@ -60,7 +60,7 @@
<h4>Visual checked state only updated on click</h4> <h4>Visual checked state only updated on click</h4>
<p>If the checked state of a checkbox button is updated without firing a <code>click</code> event on the button (e.g. via <code>&lt;input type="reset"&gt;</code> or via setting the <code>checked</code> property of the input), you will need to toggle the <code>.active</code> class on the input's <code>label</code> yourself.</p> <p>If the checked state of a checkbox button is updated without firing a <code>click</code> event on the button (e.g. via <code>&lt;input type="reset"&gt;</code> or via setting the <code>checked</code> property of the input), you will need to toggle the <code>.active</code> class on the input's <code>label</code> yourself.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example" data-example-id="buttons-checkbox">
<div class="btn-group" data-toggle="buttons"> <div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active"> <label class="btn btn-primary active">
<input type="checkbox" checked autocomplete="off"> Checkbox 1 (pre-checked) <input type="checkbox" checked autocomplete="off"> Checkbox 1 (pre-checked)
@ -87,7 +87,7 @@
</div> </div>
{% endhighlight %} {% endhighlight %}
<div class="bs-example"> <div class="bs-example" data-example-id="buttons-radio">
<div class="btn-group" data-toggle="buttons"> <div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary active"> <label class="btn btn-primary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected) <input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected)

View File

@ -4,7 +4,7 @@
<p>A slideshow component for cycling through elements, like a carousel. <strong>Nested carousels are not supported.</strong></p> <p>A slideshow component for cycling through elements, like a carousel. <strong>Nested carousels are not supported.</strong></p>
<h2 id="carousel-examples">Examples</h2> <h2 id="carousel-examples">Examples</h2>
<div class="bs-example"> <div class="bs-example" data-example-id="simple-carousel">
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators"> <ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
@ -87,7 +87,7 @@
<h3>Optional captions</h3> <h3>Optional captions</h3>
<p>Add captions to your slides easily with the <code>.carousel-caption</code> element within any <code>.item</code>. Place just about any optional HTML within there and it will be automatically aligned and formatted.</p> <p>Add captions to your slides easily with the <code>.carousel-caption</code> element within any <code>.item</code>. Place just about any optional HTML within there and it will be automatically aligned and formatted.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="carousel-with-captions">
<div id="carousel-example-captions" class="carousel slide" data-ride="carousel"> <div id="carousel-example-captions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators"> <ol class="carousel-indicators">
<li data-target="#carousel-example-captions" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-captions" data-slide-to="0" class="active"></li>

View File

@ -49,7 +49,7 @@
<h2 id="collapse-example-accordion">Accordion example</h2> <h2 id="collapse-example-accordion">Accordion example</h2>
<p>Extend the default collapse behavior to create an accordion with the panel component.</p> <p>Extend the default collapse behavior to create an accordion with the panel component.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="collapse-accordion">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne"> <div class="panel-heading" role="tab" id="headingOne">

View File

@ -26,12 +26,12 @@
<h3>Static example</h3> <h3>Static example</h3>
<p>A rendered modal with header, body, and set of actions in the footer.</p> <p>A rendered modal with header, body, and set of actions in the footer.</p>
<div class="bs-example bs-example-modal"> <div class="bs-example bs-example-modal" data-example-id="static-modal">
<div class="modal"> <div class="modal">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Modal title</h4> <h4 class="modal-title">Modal title</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -50,7 +50,7 @@
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Modal title</h4> <h4 class="modal-title">Modal title</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -73,7 +73,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4> <h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -124,7 +124,7 @@
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4> <h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -186,7 +186,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myLargeModalLabel">Large modal</h4> <h4 class="modal-title" id="myLargeModalLabel">Large modal</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -200,7 +200,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="mySmallModalLabel">Small modal</h4> <h4 class="modal-title" id="mySmallModalLabel">Small modal</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -230,7 +230,7 @@
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4> <h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
@ -263,7 +263,7 @@
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4> <h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">

View File

@ -68,6 +68,12 @@ $.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Boot
$('#myModal').on('show.bs.modal', function (e) { $('#myModal').on('show.bs.modal', function (e) {
if (!data) return e.preventDefault() // stops modal from being shown if (!data) return e.preventDefault() // stops modal from being shown
}) })
{% endhighlight %}
<h3 id="js-version-nums">Version numbers</h3>
<p>The version of each of Bootstrap's jQuery plugins can be accessed via the <code>VERSION</code> property of the plugin's constructor. For example, for the tooltip plugin:</p>
{% highlight js %}
$.fn.tooltip.Constructor.VERSION // => "{{ site.current_version }}"
{% endhighlight %} {% endhighlight %}
<h3 id="js-disabled">No special fallbacks when JavaScript is disabled</h3> <h3 id="js-disabled">No special fallbacks when JavaScript is disabled</h3>

View File

@ -38,7 +38,7 @@ $(function () {
<h2 id="popovers-examples">Examples</h2> <h2 id="popovers-examples">Examples</h2>
<h3>Static popover</h3> <h3>Static popover</h3>
<p>Four options are available: top, right, bottom, and left aligned.</p> <p>Four options are available: top, right, bottom, and left aligned.</p>
<div class="bs-example bs-example-popover"> <div class="bs-example bs-example-popover" data-example-id="static-popovers">
<div class="popover top"> <div class="popover top">
<div class="arrow"></div> <div class="arrow"></div>
<h3 class="popover-title">Popover top</h3> <h3 class="popover-title">Popover top</h3>
@ -252,20 +252,21 @@ sagittis lacus vel augue laoreet rutrum faucibus.">
<p>Initializes popovers for an element collection.</p> <p>Initializes popovers for an element collection.</p>
<h4>.popover('show')</h4> <h4>.popover('show')</h4>
<p>Reveals an element's popover. Popovers whose both title and content are zero-length are never displayed.</p> <p>Reveals an element's popover. <strong>Returns to the caller before the popover has actually been shown</strong> (i.e. before the <code>shown.bs.popover</code> event occurs). This is considered a "manual" triggering of the popover. Popovers whose both title and content are zero-length are never displayed.</p>
{% highlight js %}$('#element').popover('show'){% endhighlight %} {% highlight js %}$('#element').popover('show'){% endhighlight %}
<h4>.popover('hide')</h4> <h4>.popover('hide')</h4>
<p>Hides an element's popover.</p> <p>Hides an element's popover. <strong>Returns to the caller before the popover has actually been hidden</strong> (i.e. before the <code>hidden.bs.popover</code> event occurs). This is considered a "manual" triggering of the popover.</p>
{% highlight js %}$('#element').popover('hide'){% endhighlight %} {% highlight js %}$('#element').popover('hide'){% endhighlight %}
<h4>.popover('toggle')</h4> <h4>.popover('toggle')</h4>
<p>Toggles an element's popover.</p> <p>Toggles an element's popover. <strong>Returns to the caller before the popover has actually been shown or hidden</strong> (i.e. before the <code>shown.bs.popover</code> or <code>hidden.bs.popover</code> event occurs). This is considered a "manual" triggering of the popover.</p>
{% highlight js %}$('#element').popover('toggle'){% endhighlight %} {% highlight js %}$('#element').popover('toggle'){% endhighlight %}
<h4>.popover('destroy')</h4> <h4>.popover('destroy')</h4>
<p>Hides and destroys an element's popover.</p> <p>Hides and destroys an element's popover.</p>
{% highlight js %}$('#element').popover('destroy'){% endhighlight %} {% highlight js %}$('#element').popover('destroy'){% endhighlight %}
<h3 id="popovers-events">Events</h3> <h3 id="popovers-events">Events</h3>
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered table-striped bs-events-table"> <table class="table table-bordered table-striped bs-events-table">

View File

@ -3,7 +3,7 @@
<h2 id="scrollspy-examples">Example in navbar</h2> <h2 id="scrollspy-examples">Example in navbar</h2>
<p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position. Scroll the area below the navbar and watch the active class change. The dropdown sub items will be highlighted as well.</p> <p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position. Scroll the area below the navbar and watch the active class change. The dropdown sub items will be highlighted as well.</p>
<div class="bs-example"> <div class="bs-example" data-example-id="embedded-scrollspy">
<nav id="navbar-example2" class="navbar navbar-default navbar-static"> <nav id="navbar-example2" class="navbar navbar-default navbar-static">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">

View File

@ -3,7 +3,7 @@
<h2 id="tabs-examples">Example tabs</h2> <h2 id="tabs-examples">Example tabs</h2>
<p>Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.</p> <p>Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.</p>
<div class="bs-example bs-example-tabs" role="tabpanel"> <div class="bs-example bs-example-tabs" role="tabpanel" data-example-id="togglable-tabs">
<ul id="myTab" class="nav nav-tabs" role="tablist"> <ul id="myTab" class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#home" id="home-tab" role="tab" data-toggle="tab" aria-controls="home" aria-expanded="true">Home</a></li> <li role="presentation" class="active"><a href="#home" id="home-tab" role="tab" data-toggle="tab" aria-controls="home" aria-expanded="true">Home</a></li>
<li role="presentation"><a href="#profile" role="tab" id="profile-tab" data-toggle="tab" aria-controls="profile">Profile</a></li> <li role="presentation"><a href="#profile" role="tab" id="profile-tab" data-toggle="tab" aria-controls="profile">Profile</a></li>

View File

@ -11,7 +11,7 @@
<h3>Static tooltip</h3> <h3>Static tooltip</h3>
<p>Four options are available: top, right, bottom, and left aligned.</p> <p>Four options are available: top, right, bottom, and left aligned.</p>
<div class="bs-example bs-example-tooltip"> <div class="bs-example bs-example-tooltip" data-example-id="static-tooltips">
<div class="tooltip left" role="tooltip"> <div class="tooltip left" role="tooltip">
<div class="tooltip-arrow"></div> <div class="tooltip-arrow"></div>
<div class="tooltip-inner"> <div class="tooltip-inner">
@ -213,15 +213,15 @@ $('#example').tooltip(options)
<p>Attaches a tooltip handler to an element collection.</p> <p>Attaches a tooltip handler to an element collection.</p>
<h4>.tooltip('show')</h4> <h4>.tooltip('show')</h4>
<p>Reveals an element's tooltip. Tooltips with zero-length titles are never displayed.</p> <p>Reveals an element's tooltip. <strong>Returns to the caller before the tooltip has actually been shown</strong> (i.e. before the <code>shown.bs.tooltip</code> event occurs). This is considered a "manual" triggering of the tooltip. Tooltips with zero-length titles are never displayed.</p>
{% highlight js %}$('#element').tooltip('show'){% endhighlight %} {% highlight js %}$('#element').tooltip('show'){% endhighlight %}
<h4>.tooltip('hide')</h4> <h4>.tooltip('hide')</h4>
<p>Hides an element's tooltip.</p> <p>Hides an element's tooltip. <strong>Returns to the caller before the tooltip has actually been hidden</strong> (i.e. before the <code>hidden.bs.tooltip</code> event occurs). This is considered a "manual" triggering of the tooltip.</p>
{% highlight js %}$('#element').tooltip('hide'){% endhighlight %} {% highlight js %}$('#element').tooltip('hide'){% endhighlight %}
<h4>.tooltip('toggle')</h4> <h4>.tooltip('toggle')</h4>
<p>Toggles an element's tooltip.</p> <p>Toggles an element's tooltip. <strong>Returns to the caller before the tooltip has actually been shown or hidden</strong> (i.e. before the <code>shown.bs.tooltip</code> or <code>hidden.bs.tooltip</code> event occurs). This is considered a "manual" triggering of the tooltip.</p>
{% highlight js %}$('#element').tooltip('toggle'){% endhighlight %} {% highlight js %}$('#element').tooltip('toggle'){% endhighlight %}
<h4>.tooltip('destroy')</h4> <h4>.tooltip('destroy')</h4>

View File

@ -105,7 +105,6 @@
<ul class="nav"> <ul class="nav">
<li><a href="#progress-basic">Basic example</a></li> <li><a href="#progress-basic">Basic example</a></li>
<li><a href="#progress-label">With label</a></li> <li><a href="#progress-label">With label</a></li>
<li><a href="#progress-low-percentages">Low percentages</a></li>
<li><a href="#progress-alternatives">Contextual alternatives</a></li> <li><a href="#progress-alternatives">Contextual alternatives</a></li>
<li><a href="#progress-striped">Striped</a></li> <li><a href="#progress-striped">Striped</a></li>
<li><a href="#progress-animated">Animated</a></li> <li><a href="#progress-animated">Animated</a></li>

View File

@ -6,6 +6,7 @@
<li><a href="#js-programmatic-api">Programmatic API</a></li> <li><a href="#js-programmatic-api">Programmatic API</a></li>
<li><a href="#js-noconflict">No conflict</a></li> <li><a href="#js-noconflict">No conflict</a></li>
<li><a href="#js-events">Events</a></li> <li><a href="#js-events">Events</a></li>
<li><a href="#js-version-nums">Version numbers</a></li>
<li><a href="#js-disabled">When JavaScript is disabled</a></li> <li><a href="#js-disabled">When JavaScript is disabled</a></li>
<li><a href="#callout-third-party-libs">Third-party libraries</a></li> <li><a href="#callout-third-party-libs">Third-party libraries</a></li>
</ul> </ul>

View File

@ -13,11 +13,13 @@ each section in sections
div.clearfix div.clearfix
div.col-xs-4 div.col-xs-4
label(for="input-" + variable.name)= variable.name label(for="input-" + variable.name)= variable.name
- var helpId = "help-block-" + variable.name
input.form-control( input.form-control(
id="input-" + variable.name id="input-" + variable.name
type="text" type="text"
aria-describedby=variable.docstring ? helpId : undefined
value=variable.defaultValue value=variable.defaultValue
data-var=variable.name) data-var=variable.name)
if variable.docstring if variable.docstring
p.help-block!= variable.docstring.html p.help-block(id=helpId)!= variable.docstring.html
// NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-variables.jade template. // NOTE: DO NOT EDIT THE PRECEDING SECTION DIRECTLY! It is autogenerated via the `build-customizer-html` Grunt task using the customizer-variables.jade template.

View File

@ -5,7 +5,7 @@
{% include header.html %} {% include header.html %}
</head> </head>
<body> <body>
<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a> <a id="skippy" class="sr-only sr-only-focusable" href="#content"><div class="container"><span class="skiplink-text">Skip to main content</span></div></a>
<!-- Docs master nav --> <!-- Docs master nav -->
{% include nav/main.html %} {% include nav/main.html %}
@ -26,8 +26,8 @@
{{ content }} {{ content }}
</div> </div>
{% unless page.fullwidth == true %} {% unless page.fullwidth == true %}
<div class="col-md-3"> <div class="col-md-3" role="complementary">
<div class="bs-docs-sidebar hidden-print hidden-xs hidden-sm" role="complementary"> <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm">
<ul class="nav bs-docs-sidenav"> <ul class="nav bs-docs-sidenav">
{% if page.slug == "getting-started" %} {% if page.slug == "getting-started" %}
{% include nav/getting-started.html %} {% include nav/getting-started.html %}
@ -53,7 +53,7 @@
Preview theme Preview theme
</a> </a>
{% endif %} {% endif %}
</div> </nav>
</div> </div>
{% endunless %} {% endunless %}
</div> </div>

View File

@ -5,7 +5,7 @@
{% include header.html %} {% include header.html %}
</head> </head>
<body class="bs-docs-home"> <body class="bs-docs-home">
<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a> <a id="skippy" class="sr-only sr-only-focusable" href="#content"><div class="container"><span class="skiplink-text">Skip to main content</span></div></a>
<!-- Docs master nav --> <!-- Docs master nav -->
{% include nav/main.html %} {% include nav/main.html %}

View File

@ -30,7 +30,7 @@ lead: "Learn about the project's history, meet the maintaining teams, and find o
<div class="list-group-item"> <div class="list-group-item">
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user={{ member.user }}&amp;type=follow"></iframe> <iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user={{ member.user }}&amp;type=follow"></iframe>
<a class="team-member" href="https://github.com/{{ member.user }}"> <a class="team-member" href="https://github.com/{{ member.user }}">
<img src="http://www.gravatar.com/avatar/{{ member.gravatar }}" alt="@{{ member.user }}"> <img src="http://www.gravatar.com/avatar/{{ member.gravatar }}" alt="@{{ member.user }}" width="32" height="32">
<strong>{{ member.name }}</strong> <small>@{{ member.user }}</small> <strong>{{ member.name }}</strong> <small>@{{ member.user }}</small>
</a> </a>
</div> </div>
@ -84,13 +84,13 @@ lead: "Learn about the project's history, meet the maintaining teams, and find o
<p>Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.</p> <p>Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.</p>
<div class="bs-brand-logos"> <div class="bs-brand-logos">
<div class="bs-brand-item"> <div class="bs-brand-item">
<img class="svg" src="../assets/brand/bootstrap-solid.svg" alt="Bootstrap"> <img class="svg" src="../assets/brand/bootstrap-solid.svg" alt="Bootstrap" width="144" height="144">
</div> </div>
<div class="bs-brand-item inverse"> <div class="bs-brand-item inverse">
<img class="svg" src="../assets/brand/bootstrap-outline.svg" alt="Bootstrap"> <img class="svg" src="../assets/brand/bootstrap-outline.svg" alt="Bootstrap" width="144" height="144">
</div> </div>
<div class="bs-brand-item inverse"> <div class="bs-brand-item inverse">
<img class="svg" src="../assets/brand/bootstrap-punchout.svg" alt="Bootstrap"> <img class="svg" src="../assets/brand/bootstrap-punchout.svg" alt="Bootstrap" width="144" height="144">
</div> </div>
</div> </div>

File diff suppressed because one or more lines are too long

View File

@ -89,6 +89,26 @@ body {
} }
/*
* Fancy skip link
*
* Make it look a bit less "bare bones"
*/
#skippy {
display: block;
padding: 1em;
color: #fff;
background-color: #6f5499;
outline: 0;
}
#skippy .skiplink-text {
padding: .5em;
outline: 1px dotted;
}
/* /*
* Main navigation * Main navigation
* *
@ -137,7 +157,7 @@ body {
padding-top: 40px; padding-top: 40px;
padding-bottom: 40px; padding-bottom: 40px;
margin-top: 100px; margin-top: 100px;
color: #777; color: #767676;
text-align: center; text-align: center;
border-top: 1px solid #e5e5e5; border-top: 1px solid #e5e5e5;
} }
@ -554,7 +574,7 @@ body {
padding: 4px 20px; padding: 4px 20px;
font-size: 13px; font-size: 13px;
font-weight: 500; font-weight: 500;
color: #999; color: #767676;
} }
.bs-docs-sidebar .nav > li > a:hover, .bs-docs-sidebar .nav > li > a:hover,
.bs-docs-sidebar .nav > li > a:focus { .bs-docs-sidebar .nav > li > a:focus {
@ -709,22 +729,22 @@ h1[id] {
/* Variations */ /* Variations */
.bs-callout-danger { .bs-callout-danger {
border-left-color: #d9534f; border-left-color: #ce4844;
} }
.bs-callout-danger h4 { .bs-callout-danger h4 {
color: #d9534f; color: #ce4844;
} }
.bs-callout-warning { .bs-callout-warning {
border-left-color: #f0ad4e; border-left-color: #aa6708;
} }
.bs-callout-warning h4 { .bs-callout-warning h4 {
color: #f0ad4e; color: #aa6708;
} }
.bs-callout-info { .bs-callout-info {
border-left-color: #5bc0de; border-left-color: #1b809e;
} }
.bs-callout-info h4 { .bs-callout-info h4 {
color: #5bc0de; color: #1b809e;
} }
@ -955,7 +975,7 @@ h1[id] {
/* Typography */ /* Typography */
.bs-example-type .table .type-info { .bs-example-type .table .type-info {
color: #999; color: #767676;
vertical-align: middle; vertical-align: middle;
} }
.bs-example-type .table td { .bs-example-type .table td {
@ -1411,10 +1431,12 @@ h1[id] {
border: 2px dashed #eee; border: 2px dashed #eee;
border-radius: 4px; border-radius: 4px;
} }
.bs-dropzone h2 { .bs-dropzone .import-header {
margin-top: 0;
margin-bottom: 5px; margin-bottom: 5px;
} }
.bs-dropzone .glyphicon-download-alt {
font-size: 40px;
}
.bs-dropzone hr { .bs-dropzone hr {
width: 100px; width: 100px;
} }
@ -1459,10 +1481,6 @@ h1[id] {
color: #fff; color: #fff;
background-color: #563d7c; background-color: #563d7c;
} }
.bs-brand-item .svg {
width: 144px;
height: 144px;
}
/* Heading content within */ /* Heading content within */
.bs-brand-item h1, .bs-brand-item h1,
@ -1522,7 +1540,7 @@ h1[id] {
display: block; display: block;
padding: 5px 8px; padding: 5px 8px;
font-size: 12px; font-size: 12px;
color: #777; color: #767676;
cursor: pointer; cursor: pointer;
background-color: #fff; background-color: #fff;
border: 1px solid #e1e1e8; border: 1px solid #e1e1e8;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -24,7 +24,8 @@ window.onload = function () { // wait for load in a dumb way because B-0
'<div class="container">' + '<div class="container">' +
'<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>' + '<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>' +
'<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span><span class="sr-only">Warning:</span>' + msg + '</p>' + '<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span><span class="sr-only">Warning:</span>' + msg + '</p>' +
(err.extract ? '<pre class="bs-customizer-alert-extract">' + err.extract.join('\n') + '</pre>' : '') + (err.message ? $('<p></p>').text('Error: ' + err.message)[0].outerHTML : '') +
(err.extract ? $('<pre class="bs-customizer-alert-extract"></pre>').text(err.extract.join('\n'))[0].outerHTML : '') +
'</div>' + '</div>' +
'</div>').appendTo('body').alert() '</div>').appendTo('body').alert()
throw err throw err
@ -38,7 +39,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
function showCallout(msg, showUpTop) { function showCallout(msg, showUpTop) {
var callout = $('<div class="bs-callout bs-callout-danger">' + var callout = $('<div class="bs-callout bs-callout-danger">' +
'<h4>Attention!</h4>' + '<h4>Attention!</h4>' +
'<p>' + msg + '</p>' + '<p>' + msg + '</p>' +
'</div>') '</div>')
@ -258,12 +259,17 @@ window.onload = function () { // wait for load in a dumb way because B-0
filename: baseFilename + '.css' filename: baseFilename + '.css'
}) })
parser.parse(lessSource, function (err, tree) { parser.parse(lessSource, function (parseErr, tree) {
if (err) { if (parseErr) {
return promise.reject(err) return promise.reject(parseErr)
}
try {
intoResult[baseFilename + '.css'] = cw + tree.toCSS()
intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true })
}
catch (compileErr) {
return promise.reject(compileErr)
} }
intoResult[baseFilename + '.css'] = cw + tree.toCSS()
intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true })
promise.resolve() promise.resolve()
}) })
@ -306,7 +312,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
} }
promise.resolve(result) promise.resolve(result)
}).fail(function (err) { }).fail(function (err) {
showError('<strong>Ruh roh!</strong> Could not parse less files.', err) showError('<strong>Ruh roh!</strong> Problem parsing or compiling Less files.', err)
promise.reject() promise.reject()
}) })

View File

@ -25,15 +25,22 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge
<!-- Customizer form --> <!-- Customizer form -->
<div id="defaults-change-alert" class="alert alert-warning alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<strong>Heads up!</strong> The default value for <code>@brand-primary</code> has changed in the latest release to improve contrast and accessibility. Please double check your compiled CSS when upgrading.
</div>
<div class="bs-docs-section bs-customizer-import"> <div class="bs-docs-section bs-customizer-import">
<div id="import-drop-target" class="bs-dropzone"> <div id="import-drop-target" class="bs-dropzone">
<h2></h2> <div class="import-header">
<span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
</div>
<p class="lead">Have an existing configuration? Upload your <code>config.json</code> to import it.</p> <p class="lead">Have an existing configuration? Upload your <code>config.json</code> to import it.</p>
<p>Drag and drop here, or <label id="import-manual-trigger" class="btn-link">manually upload<input type="file" id="import-file-select" class="hidden"></label>.</p> <p>Drag and drop here, or <label id="import-manual-trigger" class="btn-link">manually upload<input type="file" id="import-file-select" class="hidden"></label>.</p>
<hr> <hr>
<p><strong>Don't have one?</strong> That's okay—just start customizing the fields below.</p> <p><strong>Don't have one?</strong> That's okay—just start customizing the fields below.</p>
</div> </div>
</div><!-- /import --> </div>
<form class="bs-customizer"> <form class="bs-customizer">
<div class="bs-docs-section" id="less-section"> <div class="bs-docs-section" id="less-section">
@ -370,6 +377,11 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge
<h1 id="download" class="page-header">Download</h1> <h1 id="download" class="page-header">Download</h1>
<p class="lead">Hooray! Your custom version of Bootstrap is now ready to be compiled. Just click the button below to finish the process.</p> <p class="lead">Hooray! Your custom version of Bootstrap is now ready to be compiled. Just click the button below to finish the process.</p>
<div id="firefox-customizer-alert" class="alert alert-warning alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4>Warning for Firefox users!</h4>
<p>Due to a possible browser bug, the customizer download randomly fails in Firefox. If this happens to you, we advise either retrying in Firefox or using one of the other browsers supported by the Customizer (Chrome or IE10+).</p>
</div>
<div class="bs-customize-download"> <div class="bs-customize-download">
<button type="submit" id="btn-compile" disabled class="btn btn-block btn-lg btn-outline" onclick="ga('send', 'event', 'Customize', 'Download', 'Customize and Download');">Compile and Download</button> <button type="submit" id="btn-compile" disabled class="btn btn-block btn-lg btn-outline" onclick="ga('send', 'event', 'Customize', 'Download', 'Customize and Download');">Compile and Download</button>
</div> </div>

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.1 (http://getbootstrap.com) * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -63,6 +63,7 @@
background-color: #e0e0e0; background-color: #e0e0e0;
border-color: #dbdbdb; border-color: #dbdbdb;
} }
.btn-default.disabled,
.btn-default:disabled, .btn-default:disabled,
.btn-default[disabled] { .btn-default[disabled] {
background-color: #e0e0e0; background-color: #e0e0e0;
@ -88,6 +89,7 @@
background-color: #265a88; background-color: #265a88;
border-color: #245580; border-color: #245580;
} }
.btn-primary.disabled,
.btn-primary:disabled, .btn-primary:disabled,
.btn-primary[disabled] { .btn-primary[disabled] {
background-color: #265a88; background-color: #265a88;
@ -113,6 +115,7 @@
background-color: #419641; background-color: #419641;
border-color: #3e8f3e; border-color: #3e8f3e;
} }
.btn-success.disabled,
.btn-success:disabled, .btn-success:disabled,
.btn-success[disabled] { .btn-success[disabled] {
background-color: #419641; background-color: #419641;
@ -138,6 +141,7 @@
background-color: #2aabd2; background-color: #2aabd2;
border-color: #28a4c9; border-color: #28a4c9;
} }
.btn-info.disabled,
.btn-info:disabled, .btn-info:disabled,
.btn-info[disabled] { .btn-info[disabled] {
background-color: #2aabd2; background-color: #2aabd2;
@ -163,6 +167,7 @@
background-color: #eb9316; background-color: #eb9316;
border-color: #e38d13; border-color: #e38d13;
} }
.btn-warning.disabled,
.btn-warning:disabled, .btn-warning:disabled,
.btn-warning[disabled] { .btn-warning[disabled] {
background-color: #eb9316; background-color: #eb9316;
@ -188,6 +193,7 @@
background-color: #c12e2a; background-color: #c12e2a;
border-color: #b92c28; border-color: #b92c28;
} }
.btn-danger.disabled,
.btn-danger:disabled, .btn-danger:disabled,
.btn-danger[disabled] { .btn-danger[disabled] {
background-color: #c12e2a; background-color: #c12e2a;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.1 (http://getbootstrap.com) * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -268,7 +268,7 @@ th {
font-family: 'Glyphicons Halflings'; font-family: 'Glyphicons Halflings';
src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot');
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
} }
.glyphicon { .glyphicon {
position: relative; position: relative;
@ -901,12 +901,6 @@ th {
.glyphicon-paste:before { .glyphicon-paste:before {
content: "\e206"; content: "\e206";
} }
.glyphicon-door:before {
content: "\1f6aa";
}
.glyphicon-key:before {
content: "\1F511";
}
.glyphicon-alert:before { .glyphicon-alert:before {
content: "\e209"; content: "\e209";
} }
@ -2303,7 +2297,7 @@ th {
.table-bordered > thead > tr > td { .table-bordered > thead > tr > td {
border-bottom-width: 2px; border-bottom-width: 2px;
} }
.table-striped > tbody > tr:nth-child(odd) { .table-striped > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
.table-hover > tbody > tr:hover { .table-hover > tbody > tr:hover {
@ -2590,13 +2584,21 @@ input[type="search"] {
input[type="date"].input-sm, input[type="date"].input-sm,
input[type="time"].input-sm, input[type="time"].input-sm,
input[type="datetime-local"].input-sm, input[type="datetime-local"].input-sm,
input[type="month"].input-sm { input[type="month"].input-sm,
.input-group-sm input[type="date"],
.input-group-sm input[type="time"],
.input-group-sm input[type="datetime-local"],
.input-group-sm input[type="month"] {
line-height: 30px; line-height: 30px;
} }
input[type="date"].input-lg, input[type="date"].input-lg,
input[type="time"].input-lg, input[type="time"].input-lg,
input[type="datetime-local"].input-lg, input[type="datetime-local"].input-lg,
input[type="month"].input-lg { input[type="month"].input-lg,
.input-group-lg input[type="date"],
.input-group-lg input[type="time"],
.input-group-lg input[type="datetime-local"],
.input-group-lg input[type="month"] {
line-height: 46px; line-height: 46px;
} }
} }
@ -2704,6 +2706,12 @@ textarea.form-group-sm .form-control,
select[multiple].form-group-sm .form-control { select[multiple].form-group-sm .form-control {
height: auto; height: auto;
} }
.form-group-sm .form-control-static {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
}
.input-lg { .input-lg {
height: 46px; height: 46px;
padding: 10px 16px; padding: 10px 16px;
@ -2734,6 +2742,12 @@ textarea.form-group-lg .form-control,
select[multiple].form-group-lg .form-control { select[multiple].form-group-lg .form-control {
height: auto; height: auto;
} }
.form-group-lg .form-control-static {
height: 46px;
padding: 10px 16px;
font-size: 18px;
line-height: 1.33;
}
.has-feedback { .has-feedback {
position: relative; position: relative;
} }
@ -4322,6 +4336,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
border-top-right-radius: 0; border-top-right-radius: 0;
} }
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
margin-bottom: 0;
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
@ -5066,6 +5081,9 @@ a.thumbnail.active {
overflow: hidden; overflow: hidden;
zoom: 1; zoom: 1;
} }
.media-body {
width: 10000px;
}
.media-object { .media-object {
display: block; display: block;
} }
@ -5293,7 +5311,11 @@ a.list-group-item-danger.active:focus {
font-size: 16px; font-size: 16px;
color: inherit; color: inherit;
} }
.panel-title > a { .panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit; color: inherit;
} }
.panel-footer { .panel-footer {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,6 +1,6 @@
/*! /*!
* Bootstrap v3.3.1 (http://getbootstrap.com) * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
@ -9,6 +9,7 @@ if (typeof jQuery === 'undefined') {
} }
+function ($) { +function ($) {
'use strict';
var version = $.fn.jquery.split(' ')[0].split('.') var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
@ -19,7 +20,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: transition.js v3.3.1 * Bootstrap: transition.js v3.3.1
* http://getbootstrap.com/javascript/#transitions * http://getbootstrap.com/javascript/#transitions
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -79,7 +80,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: alert.js v3.3.1 * Bootstrap: alert.js v3.3.1
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -174,7 +175,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: button.js v3.3.1 * Bootstrap: button.js v3.3.1
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -291,7 +292,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: carousel.js v3.3.1 * Bootstrap: carousel.js v3.3.1
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -529,7 +530,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: collapse.js v3.3.1 * Bootstrap: collapse.js v3.3.1
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -741,7 +742,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: dropdown.js v3.3.1 * Bootstrap: dropdown.js v3.3.1
* http://getbootstrap.com/javascript/#dropdowns * http://getbootstrap.com/javascript/#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -903,7 +904,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: modal.js v3.3.1 * Bootstrap: modal.js v3.3.1
* http://getbootstrap.com/javascript/#modals * http://getbootstrap.com/javascript/#modals
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -1229,7 +1230,7 @@ if (typeof jQuery === 'undefined') {
* http://getbootstrap.com/javascript/#tooltip * http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -1572,10 +1573,10 @@ if (typeof jQuery === 'undefined') {
} }
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
} }
@ -1671,18 +1672,12 @@ if (typeof jQuery === 'undefined') {
function Plugin(option) { function Plugin(option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.tooltip') var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
var selector = options && options.selector
if (!data && option == 'destroy') return if (!data && option == 'destroy') return
if (selector) { if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (!data) $this.data('bs.tooltip', (data = {}))
if (!data[selector]) data[selector] = new Tooltip(this, options)
} else {
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
}
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
} }
@ -1707,7 +1702,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: popover.js v3.3.1 * Bootstrap: popover.js v3.3.1
* http://getbootstrap.com/javascript/#popovers * http://getbootstrap.com/javascript/#popovers
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -1791,18 +1786,12 @@ if (typeof jQuery === 'undefined') {
function Plugin(option) { function Plugin(option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('bs.popover') var data = $this.data('bs.popover')
var options = typeof option == 'object' && option var options = typeof option == 'object' && option
var selector = options && options.selector
if (!data && option == 'destroy') return if (!data && option == 'destroy') return
if (selector) { if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
if (!data) $this.data('bs.popover', (data = {}))
if (!data[selector]) data[selector] = new Popover(this, options)
} else {
if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
}
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
} }
@ -1827,7 +1816,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: scrollspy.js v3.3.1 * Bootstrap: scrollspy.js v3.3.1
* http://getbootstrap.com/javascript/#scrollspy * http://getbootstrap.com/javascript/#scrollspy
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -2003,7 +1992,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: tab.js v3.3.1 * Bootstrap: tab.js v3.3.1
* http://getbootstrap.com/javascript/#tabs * http://getbootstrap.com/javascript/#tabs
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */
@ -2157,7 +2146,7 @@ if (typeof jQuery === 'undefined') {
* Bootstrap: affix.js v3.3.1 * Bootstrap: affix.js v3.3.1
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2011-2014 Twitter, Inc. * Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */ * ======================================================================== */

File diff suppressed because one or more lines are too long

View File

@ -167,7 +167,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

View File

@ -205,7 +205,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

View File

@ -71,7 +71,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

View File

@ -237,7 +237,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

View File

@ -94,7 +94,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -86,7 +86,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -87,7 +87,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -85,7 +85,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -106,7 +106,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -123,7 +123,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

View File

@ -63,7 +63,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -82,7 +82,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>

View File

@ -631,7 +631,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

View File

@ -48,7 +48,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->

0
fonts/glyphicons-halflings-regular.eot Executable file → Normal file
View File

Some files were not shown because too many files have changed in this diff Show More