Commit e3cfd582 authored by Mark Otto's avatar Mark Otto

Merge branch 'master' into pr/12462

Conflicts:
	dist/css/bootstrap.css.map
	dist/css/bootstrap.min.css
	docs/dist/css/bootstrap.css.map
	docs/dist/css/bootstrap.min.css
parents 08ff305e 842af44f
...@@ -26,6 +26,6 @@ env: ...@@ -26,6 +26,6 @@ env:
- TWBS_TEST=core - TWBS_TEST=core
- TWBS_TEST=validate-html - TWBS_TEST=validate-html
- TWBS_TEST=sauce-js-unit - TWBS_TEST=sauce-js-unit
- TWBS_TEST=browserstack-js-unit # - TWBS_TEST=browserstack-js-unit
matrix: matrix:
fast_finish: true fast_finish: true
...@@ -30,7 +30,7 @@ module.exports = function (grunt) { ...@@ -30,7 +30,7 @@ module.exports = function (grunt) {
banner: '/*!\n' + banner: '/*!\n' +
' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' + ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + ' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
' * Licensed under <%= _.pluck(pkg.licenses, "type") %> (<%= _.pluck(pkg.licenses, "url") %>)\n' + ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' +
' */\n', ' */\n',
jqueryCheck: 'if (typeof jQuery === \'undefined\') { throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery\') }\n\n', jqueryCheck: 'if (typeof jQuery === \'undefined\') { throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery\') }\n\n',
...@@ -44,7 +44,10 @@ module.exports = function (grunt) { ...@@ -44,7 +44,10 @@ module.exports = function (grunt) {
jshintrc: 'js/.jshintrc' jshintrc: 'js/.jshintrc'
}, },
grunt: { grunt: {
src: ['Gruntfile.js', 'docs/grunt/*.js', 'test-infra/shrinkwrap.js'] options: {
node: true
},
src: ['Gruntfile.js', 'grunt/*.js']
}, },
src: { src: {
src: 'js/*.js' src: 'js/*.js'
...@@ -62,7 +65,7 @@ module.exports = function (grunt) { ...@@ -62,7 +65,7 @@ module.exports = function (grunt) {
config: 'js/.jscs.json', config: 'js/.jscs.json',
}, },
grunt: { grunt: {
src: ['Gruntfile.js', 'docs/grunt/*.js', 'test-infra/shrinkwrap.js'] src: ['Gruntfile.js', 'grunt/*.js']
}, },
src: { src: {
src: 'js/*.js' src: 'js/*.js'
...@@ -259,7 +262,7 @@ module.exports = function (grunt) { ...@@ -259,7 +262,7 @@ module.exports = function (grunt) {
options: { options: {
inject: 'js/tests/unit/phantom.js' inject: 'js/tests/unit/phantom.js'
}, },
files: 'js/tests/*.html' files: 'js/tests/index.html'
}, },
connect: { connect: {
...@@ -287,8 +290,8 @@ module.exports = function (grunt) { ...@@ -287,8 +290,8 @@ module.exports = function (grunt) {
} }
}, },
files: { files: {
'docs/_includes/customizer-variables.html': 'docs/customizer-variables.jade', 'docs/_includes/customizer-variables.html': 'docs/jade/customizer-variables.jade',
'docs/_includes/nav-customize.html': 'docs/customizer-nav.jade' 'docs/_includes/nav-customize.html': 'docs/jade/customizer-nav.jade'
} }
} }
}, },
......
...@@ -14,7 +14,9 @@ baseurl: / ...@@ -14,7 +14,9 @@ baseurl: /
url: http://localhost:9001 url: http://localhost:9001
encoding: UTF-8 encoding: UTF-8
exclude: ["vendor"] exclude:
- "jade"
- "vendor"
# Custom vars # Custom vars
current_version: 3.1.0 current_version: 3.1.0
......
This diff was suppressed by a .gitattributes entry.
...@@ -307,7 +307,11 @@ figure { ...@@ -307,7 +307,11 @@ figure {
img { img {
vertical-align: middle; vertical-align: middle;
} }
.img-responsive { .img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block; display: block;
max-width: 100%; max-width: 100%;
height: auto; height: auto;
...@@ -1709,9 +1713,6 @@ output { ...@@ -1709,9 +1713,6 @@ output {
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
} }
.form-control:-moz-placeholder {
color: #999;
}
.form-control::-moz-placeholder { .form-control::-moz-placeholder {
color: #999; color: #999;
opacity: 1; opacity: 1;
...@@ -1732,6 +1733,9 @@ fieldset[disabled] .form-control { ...@@ -1732,6 +1733,9 @@ fieldset[disabled] .form-control {
textarea.form-control { textarea.form-control {
height: auto; height: auto;
} }
input[type="search"] {
-webkit-appearance: none;
}
input[type="date"] { input[type="date"] {
line-height: 34px; line-height: 34px;
} }
...@@ -1935,6 +1939,9 @@ select[multiple].input-lg { ...@@ -1935,6 +1939,9 @@ select[multiple].input-lg {
width: auto; width: auto;
vertical-align: middle; vertical-align: middle;
} }
.form-inline .input-group > .form-control {
width: 100%;
}
.form-inline .control-label { .form-inline .control-label {
margin-bottom: 0; margin-bottom: 0;
vertical-align: middle; vertical-align: middle;
...@@ -1999,7 +2006,6 @@ select[multiple].input-lg { ...@@ -1999,7 +2006,6 @@ select[multiple].input-lg {
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
-o-user-select: none;
user-select: none; user-select: none;
background-image: none; background-image: none;
border: 1px solid transparent; border: 1px solid transparent;
...@@ -2311,19 +2317,22 @@ fieldset[disabled] .btn-link:focus { ...@@ -2311,19 +2317,22 @@ fieldset[disabled] .btn-link:focus {
color: #999; color: #999;
text-decoration: none; text-decoration: none;
} }
.btn-lg { .btn-lg,
.btn-group-lg > .btn {
padding: 10px 16px; padding: 10px 16px;
font-size: 18px; font-size: 18px;
line-height: 1.33; line-height: 1.33;
border-radius: 6px; border-radius: 6px;
} }
.btn-sm { .btn-sm,
.btn-group-sm > .btn {
padding: 5px 10px; padding: 5px 10px;
font-size: 12px; font-size: 12px;
line-height: 1.5; line-height: 1.5;
border-radius: 3px; border-radius: 3px;
} }
.btn-xs { .btn-xs,
.btn-group-xs > .btn {
padding: 1px 5px; padding: 1px 5px;
font-size: 12px; font-size: 12px;
line-height: 1.5; line-height: 1.5;
...@@ -3196,24 +3205,6 @@ input[type="button"].btn-block { ...@@ -3196,24 +3205,6 @@ input[type="button"].btn-block {
.btn-group.open .dropdown-toggle { .btn-group.open .dropdown-toggle {
outline: 0; outline: 0;
} }
.btn-group-xs > .btn {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.btn-group-sm > .btn {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.btn-group-lg > .btn {
padding: 10px 16px;
font-size: 18px;
line-height: 1.33;
border-radius: 6px;
}
.btn-group > .btn + .dropdown-toggle { .btn-group > .btn + .dropdown-toggle {
padding-right: 8px; padding-right: 8px;
padding-left: 8px; padding-left: 8px;
...@@ -3865,6 +3856,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn { ...@@ -3865,6 +3856,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
width: auto; width: auto;
vertical-align: middle; vertical-align: middle;
} }
.navbar-form .input-group > .form-control {
width: 100%;
}
.navbar-form .control-label { .navbar-form .control-label {
margin-bottom: 0; margin-bottom: 0;
vertical-align: middle; vertical-align: middle;
...@@ -4416,9 +4410,6 @@ a.list-group-item.active > .badge, ...@@ -4416,9 +4410,6 @@ a.list-group-item.active > .badge,
} }
.thumbnail > img, .thumbnail > img,
.thumbnail a > img { .thumbnail a > img {
display: block;
max-width: 100%;
height: auto;
margin-right: auto; margin-right: auto;
margin-left: auto; margin-left: auto;
} }
...@@ -4771,6 +4762,31 @@ a.list-group-item-danger.active:focus { ...@@ -4771,6 +4762,31 @@ a.list-group-item-danger.active:focus {
.panel-body { .panel-body {
padding: 15px; padding: 15px;
} }
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 16px;
color: inherit;
}
.panel-title > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.panel > .list-group { .panel > .list-group {
margin-bottom: 0; margin-bottom: 0;
} }
...@@ -4889,63 +4905,30 @@ a.list-group-item-danger.active:focus { ...@@ -4889,63 +4905,30 @@ a.list-group-item-danger.active:focus {
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0; border-right: 0;
} }
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th,
.panel > .table-bordered > tfoot > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:first-child > th,
.panel > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > tfoot > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:first-child > td { .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
border-top: 0; .panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
border-bottom: 0;
} }
.panel > .table-bordered > thead > tr:last-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:last-child > th,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-bordered > thead > tr:last-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td { .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
border-bottom: 0; border-bottom: 0;
} }
.panel > .table-responsive { .panel > .table-responsive {
margin-bottom: 0; margin-bottom: 0;
border: 0; border: 0;
} }
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 16px;
color: inherit;
}
.panel-title > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #f5f5f5;
border-top: 1px solid #ddd;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.panel-group { .panel-group {
margin-bottom: 20px; margin-bottom: 20px;
} }
...@@ -5446,9 +5429,6 @@ button.close { ...@@ -5446,9 +5429,6 @@ button.close {
} }
.carousel-inner > .item > img, .carousel-inner > .item > img,
.carousel-inner > .item > a > img { .carousel-inner > .item > a > img {
display: block;
max-width: 100%;
height: auto;
line-height: 1; line-height: 1;
} }
.carousel-inner > .active, .carousel-inner > .active,
......
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -572,6 +572,37 @@ ...@@ -572,6 +572,37 @@
<p class="help-block">Point at which the navbar begins collapsing.</p> <p class="help-block">Point at which the navbar begins collapsing.</p>
</div> </div>
</div> </div>
<h2 id="container-sizes">Container sizes</h2>
<p>Define the maximum width of <code>.container</code> for different screen sizes.</p>
<div class="row">
<div class="bs-customizer-input">
<label for="input-@container-tablet">@container-tablet</label>
<input id="input-@container-tablet" type="text" value="((720px + @grid-gutter-width))" data-var="@container-tablet" class="form-control"/>
</div>
<div class="bs-customizer-input">
<label for="input-@container-sm">@container-sm</label>
<input id="input-@container-sm" type="text" value="@container-tablet" data-var="@container-sm" class="form-control"/>
<p class="help-block">For <code>@screen-sm-min</code> and up.</p>
</div>
<div class="bs-customizer-input">
<label for="input-@container-desktop">@container-desktop</label>
<input id="input-@container-desktop" type="text" value="((940px + @grid-gutter-width))" data-var="@container-desktop" class="form-control"/>
</div>
<div class="bs-customizer-input">
<label for="input-@container-md">@container-md</label>
<input id="input-@container-md" type="text" value="@container-desktop" data-var="@container-md" class="form-control"/>
<p class="help-block">For <code>@screen-md-min</code> and up.</p>
</div>
<div class="bs-customizer-input">
<label for="input-@container-large-desktop">@container-large-desktop</label>
<input id="input-@container-large-desktop" type="text" value="((1140px + @grid-gutter-width))" data-var="@container-large-desktop" class="form-control"/>
</div>
<div class="bs-customizer-input">
<label for="input-@container-lg">@container-lg</label>
<input id="input-@container-lg" type="text" value="@container-large-desktop" data-var="@container-lg" class="form-control"/>
<p class="help-block">For <code>@screen-lg-min</code> and up.</p>
</div>
</div>
<h2 id="navbar">Navbar</h2> <h2 id="navbar">Navbar</h2>
<p></p> <p></p>
<div class="row"> <div class="row">
...@@ -1631,6 +1662,11 @@ ...@@ -1631,6 +1662,11 @@
<input id="input-@blockquote-small-color" type="text" value="@gray-light" data-var="@blockquote-small-color" class="form-control"/> <input id="input-@blockquote-small-color" type="text" value="@gray-light" data-var="@blockquote-small-color" class="form-control"/>
<p class="help-block">Blockquote small color</p> <p class="help-block">Blockquote small color</p>
</div> </div>
<div class="bs-customizer-input">
<label for="input-@blockquote-font-size">@blockquote-font-size</label>
<input id="input-@blockquote-font-size" type="text" value="(@font-size-base * 1.25)" data-var="@blockquote-font-size" class="form-control"/>
<p class="help-block">Blockquote font size</p>
</div>
<div class="bs-customizer-input"> <div class="bs-customizer-input">
<label for="input-@blockquote-border-color">@blockquote-border-color</label> <label for="input-@blockquote-border-color">@blockquote-border-color</label>
<input id="input-@blockquote-border-color" type="text" value="@gray-lighter" data-var="@blockquote-border-color" class="form-control"/> <input id="input-@blockquote-border-color" type="text" value="@gray-lighter" data-var="@blockquote-border-color" class="form-control"/>
...@@ -1656,35 +1692,4 @@ ...@@ -1656,35 +1692,4 @@
<p class="help-block">Horizontal offset for forms and lists.</p> <p class="help-block">Horizontal offset for forms and lists.</p>
</div> </div>
</div> </div>
<h2 id="container-sizes">Container sizes</h2>
<p>Define the maximum width of <code>.container</code> for different screen sizes.</p>
<div class="row">
<div class="bs-customizer-input">
<label for="input-@container-tablet">@container-tablet</label>
<input id="input-@container-tablet" type="text" value="((720px + @grid-gutter-width))" data-var="@container-tablet" class="form-control"/>
</div>
<div class="bs-customizer-input">
<label for="input-@container-sm">@container-sm</label>
<input id="input-@container-sm" type="text" value="@container-tablet" data-var="@container-sm" class="form-control"/>
<p class="help-block">For <code>@screen-sm-min</code> and up.</p>
</div>
<div class="bs-customizer-input">
<label for="input-@container-desktop">@container-desktop</label>
<input id="input-@container-desktop" type="text" value="((940px + @grid-gutter-width))" data-var="@container-desktop" class="form-control"/>
</div>
<div class="bs-customizer-input">
<label for="input-@container-md">@container-md</label>
<input id="input-@container-md" type="text" value="@container-desktop" data-var="@container-md" class="form-control"/>
<p class="help-block">For <code>@screen-md-min</code> and up.</p>
</div>
<div class="bs-customizer-input">
<label for="input-@container-large-desktop">@container-large-desktop</label>
<input id="input-@container-large-desktop" type="text" value="((1140px + @grid-gutter-width))" data-var="@container-large-desktop" class="form-control"/>
</div>
<div class="bs-customizer-input">
<label for="input-@container-lg">@container-lg</label>
<input id="input-@container-lg" type="text" value="@container-large-desktop" data-var="@container-lg" class="form-control"/>
<p class="help-block">For <code>@screen-lg-min</code> and up.</p>
</div>
</div>
<!-- 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.-->
\ No newline at end of file
...@@ -102,6 +102,7 @@ ...@@ -102,6 +102,7 @@
<a href="#progress">Progress bars</a> <a href="#progress">Progress bars</a>
<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-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>
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<li><a href="#dropdowns">Dropdowns</a></li> <li><a href="#dropdowns">Dropdowns</a></li>
<li><a href="#media-queries-breakpoints">Media queries breakpoints</a></li> <li><a href="#media-queries-breakpoints">Media queries breakpoints</a></li>
<li><a href="#grid-system">Grid system</a></li> <li><a href="#grid-system">Grid system</a></li>
<li><a href="#container-sizes">Container sizes</a></li>
<li><a href="#navbar">Navbar</a></li> <li><a href="#navbar">Navbar</a></li>
<li><a href="#navs">Navs</a></li> <li><a href="#navs">Navs</a></li>
<li><a href="#tabs">Tabs</a></li> <li><a href="#tabs">Tabs</a></li>
...@@ -39,7 +40,6 @@ ...@@ -39,7 +40,6 @@
<li><a href="#code">Code</a></li> <li><a href="#code">Code</a></li>
<li><a href="#type">Type</a></li> <li><a href="#type">Type</a></li>
<li><a href="#miscellaneous">Miscellaneous</a></li> <li><a href="#miscellaneous">Miscellaneous</a></li>
<li><a href="#container-sizes">Container sizes</a></li>
</ul> </ul>
</li> </li>
<li><a href="#download">Download</a></li> <li><a href="#download">Download</a></li>
......
<header class="navbar navbar-static-top bs-docs-nav" role="banner" id="top"> <header class="navbar navbar-static-top bs-docs-nav" id="top" role="banner">
<div class="container"> <div class="container">
<div class="navbar-header"> <div class="navbar-header">
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse"> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
......
This diff is collapsed.
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
* details, see http://creativecommons.org/licenses/by/3.0/. * details, see http://creativecommons.org/licenses/by/3.0/.
*/ */
/* jshint multistr:true */ /* jshint multistr: true */
window.onload = function () { // wait for load in a dumb way because B-0 window.onload = function () { // wait for load in a dumb way because B-0
var cw = '/*!\n' + var cw = '/*!\n' +
' * Bootstrap v3.1.0 (http://getbootstrap.com)\n' + ' * Bootstrap v3.1.0 (http://getbootstrap.com)\n' +
' * Copyright 2011-2014 Twitter, Inc.\n' + ' * Copyright 2011-2014 Twitter, Inc.\n' +
' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' + ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
' */\n\n'; ' */\n\n'
function showError(msg, err) { function showError(msg, err) {
$('<div id="bsCustomizerAlert" class="bs-customizer-alert">\ $('<div id="bsCustomizerAlert" class="bs-customizer-alert">\
...@@ -40,9 +40,9 @@ window.onload = function () { // wait for load in a dumb way because B-0 ...@@ -40,9 +40,9 @@ window.onload = function () { // wait for load in a dumb way because B-0
} }
function getQueryParam(key) { function getQueryParam(key) {
key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, '\\$&'); // escape RegEx meta chars key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, '\\$&') // escape RegEx meta chars
var match = location.search.match(new RegExp('[?&]' + key + '=([^&]+)(&|$)')); var match = location.search.match(new RegExp('[?&]' + key + '=([^&]+)(&|$)'))
return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); return match && decodeURIComponent(match[1].replace(/\+/g, ' '))
} }
function createGist(configJson) { function createGist(configJson) {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -2261,6 +2261,23 @@ body { padding-bottom: 70px; } ...@@ -2261,6 +2261,23 @@ body { padding-bottom: 70px; }
<span class="sr-only">60% Complete</span> <span class="sr-only">60% Complete</span>
</div> </div>
</div> </div>
{% endhighlight %}
<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>
<div class="bs-example">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
60%
</div>
</div>
</div>
{% highlight html %}
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
60%
</div>
</div>
{% endhighlight %} {% endhighlight %}
<h3 id="progress-alternatives">Contextual alternatives</h3> <h3 id="progress-alternatives">Contextual alternatives</h3>
......
...@@ -76,11 +76,6 @@ lead: "Global CSS settings, fundamental HTML elements styled and enhanced with e ...@@ -76,11 +76,6 @@ lead: "Global CSS settings, fundamental HTML elements styled and enhanced with e
</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>
<div class="bs-callout bs-callout-info">
<h4>Grids and full-width layouts</h4>
<p>Folks looking to create fully fluid layouts (meaning your site stretches the entire width of the viewport) must wrap their grid content in a containing element with <code>padding: 0 15px;</code> to offset the <code>margin: 0 -15px;</code> used on <code>.row</code>s.</p>
</div>
<h3 id="grid-media-queries">Media queries</h3> <h3 id="grid-media-queries">Media queries</h3>
<p>We use the following media queries in our Less files to create the key breakpoints in our grid system.</p> <p>We use the following media queries in our Less files to create the key breakpoints in our grid system.</p>
{% highlight scss %} {% highlight scss %}
...@@ -3245,7 +3240,7 @@ a { ...@@ -3245,7 +3240,7 @@ a {
<p>Easily truncate text with an ellipsis with a single mixin. <strong>Requires element to be <code>block</code> or <code>inline-block</code> level.</strong></p> <p>Easily truncate text with an ellipsis with a single mixin. <strong>Requires element to be <code>block</code> or <code>inline-block</code> level.</strong></p>
{% highlight scss %} {% highlight scss %}
// Mixin // Mixin
.text-truncate() { .text-overflow() {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
...@@ -3255,7 +3250,7 @@ a { ...@@ -3255,7 +3250,7 @@ a {
.branch-name { .branch-name {
display: inline-block; display: inline-block;
max-width: 200px; max-width: 200px;
.text-truncate(); .text-overflow();
} }
{% endhighlight %} {% endhighlight %}
......
This diff was suppressed by a .gitattributes entry.
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -29,12 +29,14 @@ body { ...@@ -29,12 +29,14 @@ body {
@media (min-width: 768px) { @media (min-width: 768px) {
.sidebar { .sidebar {
position: fixed; position: fixed;
top: 0; top: 51px;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: 1000; z-index: 1000;
display: block; display: block;
padding: 70px 20px 20px; padding: 20px;
overflow-x: hidden;
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
background-color: #f5f5f5; background-color: #f5f5f5;
border-right: 1px solid #eee; border-right: 1px solid #eee;
} }
......
$(document).ready(function() { $(document).ready(function () {
$('[data-toggle=offcanvas]').click(function() { $('[data-toggle=offcanvas]').click(function () {
$('.row-offcanvas').toggleClass('active'); $('.row-offcanvas').toggleClass('active')
}); });
}); });
\ No newline at end of file
...@@ -28,9 +28,6 @@ ...@@ -28,9 +28,6 @@
<body> <body>
<!-- Wrap all page content here -->
<div id="wrap">
<!-- Fixed navbar --> <!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container"> <div class="container">
...@@ -70,10 +67,9 @@ ...@@ -70,10 +67,9 @@
<div class="page-header"> <div class="page-header">
<h1>Sticky footer with fixed navbar</h1> <h1>Sticky footer with fixed navbar</h1>
</div> </div>
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added within <code>#wrap</code> with <code>padding-top: 60px;</code> on the <code>.container</code>.</p> <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with <code>padding-top: 60px;</code> on the <code>body > .container</code>.</p>
<p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p> <p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p>
</div> </div>
</div>
<div id="footer"> <div id="footer">
<div class="container"> <div class="container">
......
/* Sticky footer styles /* Sticky footer styles
-------------------------------------------------- */ -------------------------------------------------- */
html {
html, position: relative;
body {
height: 100%;
/* The html and body elements cannot have any padding or margin. */
}
/* Wrapper for page content to push down footer */
#wrap {
height: auto;
min-height: 100%; min-height: 100%;
/* Pad bottom by footer height */
padding: 0 0 60px;
/* Negative indent footer by its height */
margin: 0 auto -60px;
} }
body {
/* Set the fixed height of the footer here */ /* Margin bottom by footer height */
margin-bottom: 60px;
}
#footer { #footer {
position: absolute;
bottom: 0;
width: 100%;
/* Set the fixed height of the footer here */
height: 60px; height: 60px;
background-color: #f5f5f5; background-color: #f5f5f5;
} }
...@@ -28,7 +22,7 @@ body { ...@@ -28,7 +22,7 @@ body {
-------------------------------------------------- */ -------------------------------------------------- */
/* Not required for template or sticky footer method. */ /* Not required for template or sticky footer method. */
#wrap > .container { body > .container {
padding: 60px 15px 0; padding: 60px 15px 0;
} }
.container .text-muted { .container .text-muted {
......
...@@ -28,9 +28,6 @@ ...@@ -28,9 +28,6 @@
<body> <body>
<!-- Wrap all page content here -->
<div id="wrap">
<!-- Begin page content --> <!-- Begin page content -->
<div class="container"> <div class="container">
<div class="page-header"> <div class="page-header">
...@@ -39,7 +36,6 @@ ...@@ -39,7 +36,6 @@
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p> <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
<p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p> <p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p>
</div> </div>
</div>
<div id="footer"> <div id="footer">
<div class="container"> <div class="container">
......
/* Sticky footer styles /* Sticky footer styles
-------------------------------------------------- */ -------------------------------------------------- */
html {
html, position: relative;
body {
height: 100%;
/* The html and body elements cannot have any padding or margin. */
}
/* Wrapper for page content to push down footer */
#wrap {
height: auto;
min-height: 100%; min-height: 100%;
/* Pad bottom by footer height */
padding: 0 0 60px;
/* Negative indent footer by its height */
margin: 0 auto -60px;
} }
body {
/* Set the fixed height of the footer here */ /* Margin bottom by footer height */
margin-bottom: 60px;
}
#footer { #footer {
position: absolute;
bottom: 0;
width: 100%;
/* Set the fixed height of the footer here */
height: 60px; height: 60px;
background-color: #f5f5f5; background-color: #f5f5f5;
} }
......
...@@ -369,7 +369,7 @@ bootstrap/ ...@@ -369,7 +369,7 @@ bootstrap/
<p class="lead">Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, though fully functional, renderings of certain components.</p> <p class="lead">Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, though fully functional, renderings of certain components.</p>
<h3 id="support-browsers">Supported browsers</h3> <h3 id="support-browsers">Supported browsers</h3>
<p>Specifically, we support the <strong>latest versions</strong> of the following browsers and platforms:</p> <p>Specifically, we support the <strong>latest versions</strong> of the following browsers and platforms. On Windows, <strong>we support Internet Explorer 8-11</strong>. More specific support information is provided below.</p>
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
...@@ -543,10 +543,10 @@ if (navigator.userAgent.match(/IEMobile\/10\.0/)) { ...@@ -543,10 +543,10 @@ if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
<p>On <code>&lt;select&gt;</code> elements, the Android stock browser will not display the side controls if there is a <code>border-radius</code> and/or <code>border</code> applied. Use the snippet of code below to remove the offending CSS and render the <code>&lt;select&gt;</code> as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.</p> <p>On <code>&lt;select&gt;</code> elements, the Android stock browser will not display the side controls if there is a <code>border-radius</code> and/or <code>border</code> applied. Use the snippet of code below to remove the offending CSS and render the <code>&lt;select&gt;</code> as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.</p>
{% highlight html %} {% highlight html %}
<script> <script>
var nua = navigator.userAgent; var nua = navigator.userAgent
var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1); var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
if (isAndroid) { if (isAndroid) {
$('select.form-control').removeClass('form-control').css('width', '100%'); $('select.form-control').removeClass('form-control').css('width', '100%')
} }
</script> </script>
{% endhighlight %} {% endhighlight %}
...@@ -769,6 +769,7 @@ if (isAndroid) { ...@@ -769,6 +769,7 @@ if (isAndroid) {
<li><a href="http://www.oneskyapp.com/docs/bootstrap/ru">Bootstrap по-русски (Russian)</a></li> <li><a href="http://www.oneskyapp.com/docs/bootstrap/ru">Bootstrap по-русски (Russian)</a></li>
<li><a href="http://www.oneskyapp.com/docs/bootstrap/es">Bootstrap en Español (Spanish)</a></li> <li><a href="http://www.oneskyapp.com/docs/bootstrap/es">Bootstrap en Español (Spanish)</a></li>
<li><a href="http://twbs.site-konstruktor.com.ua">Bootstrap ua Українською (Ukrainian)</a></li> <li><a href="http://twbs.site-konstruktor.com.ua">Bootstrap ua Українською (Ukrainian)</a></li>
<li><a href="http://bootstrapk.com/BS3/">Bootstrap 한국어 (Korean)</a></li>
</ul> </ul>
<p>Have another language to add, or perhaps a different or better translation? Let us know by <a href="https://github.com/twbs/bootstrap/issues/new">opening an issue</a>.</p> <p>Have another language to add, or perhaps a different or better translation? Let us know by <a href="https://github.com/twbs/bootstrap/issues/new">opening an issue</a>.</p>
</div> </div>
...@@ -15,8 +15,13 @@ lead: "Bring Bootstrap's components to life with over a dozen custom jQuery plug ...@@ -15,8 +15,13 @@ lead: "Bring Bootstrap's components to life with over a dozen custom jQuery plug
<p>Plugins can be included individually (using Bootstrap's individual <code>*.js</code> files), or all at once (using <code>bootstrap.js</code> or the minified <code>bootstrap.min.js</code>).</p> <p>Plugins can be included individually (using Bootstrap's individual <code>*.js</code> files), or all at once (using <code>bootstrap.js</code> or the minified <code>bootstrap.min.js</code>).</p>
<div class="bs-callout bs-callout-danger"> <div class="bs-callout bs-callout-danger">
<h4>Do not attempt to include both.</h4> <h4>Using the compiled JavaScript</h4>
<p>Both <code>bootstrap.js</code> and <code>bootstrap.min.js</code> contain all plugins in a single file.</p> <p>Both <code>bootstrap.js</code> and <code>bootstrap.min.js</code> contain all plugins in a single file. Include only one.</p>
</div>
<div class="bs-callout bs-callout-danger">
<h4>Component data attributes</h4>
<p>Don't mix data attributes from separate plugins on the same component. For example, a button cannot have a tooltip and toggle a modal. To accomplish this, use a wrapping element.</p>
</div> </div>
<div class="bs-callout bs-callout-danger"> <div class="bs-callout bs-callout-danger">
...@@ -561,6 +566,7 @@ $('.dropdown-toggle').dropdown() ...@@ -561,6 +566,7 @@ $('.dropdown-toggle').dropdown()
<p>Toggles the dropdown menu of a given navbar or tabbed navigation.</p> <p>Toggles the dropdown menu of a given navbar or tabbed navigation.</p>
<h3>Events</h3> <h3>Events</h3>
<p>All dropdown events are fired at the <code>.dropdown-menu</code>'s parent element.</p>
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
...@@ -1438,10 +1444,10 @@ $('#my-alert').bind('closed.bs.alert', function () { ...@@ -1438,10 +1444,10 @@ $('#my-alert').bind('closed.bs.alert', function () {
</button> </button>
<script> <script>
$('#loading-example-btn').click(function () { $('#loading-example-btn').click(function () {
var btn = $(this); var btn = $(this)
btn.button('loading'); btn.button('loading')
$.ajax(...).always(function () { $.ajax(...).always(function () {
btn.button('reset'); btn.button('reset')
}); });
}); });
</script> </script>
...@@ -1546,10 +1552,10 @@ $('.btn').button() ...@@ -1546,10 +1552,10 @@ $('.btn').button()
<button id="loading-example-btn" type="button" class="btn btn-primary" data-loading-text="loading stuff...">...</button> <button id="loading-example-btn" type="button" class="btn btn-primary" data-loading-text="loading stuff...">...</button>
<script> <script>
$('#loading-example-btn').click(function () { $('#loading-example-btn').click(function () {
var btn = $(this); var btn = $(this)
btn.button('loading'); btn.button('loading')
$.ajax(...).always(function () { $.ajax(...).always(function () {
btn.button('reset'); btn.button('reset')
}); });
}); });
</script> </script>
......
/* jshint node: true */
/*! /*!
* Bootstrap Grunt task for Glyphicons data generation * Bootstrap Grunt task for Glyphicons data generation
* http://getbootstrap.com * http://getbootstrap.com
......
/* jshint node: true */
/*! /*!
* Bootstrap Grunt task for parsing Less docstrings * Bootstrap Grunt task for parsing Less docstrings
* http://getbootstrap.com * http://getbootstrap.com
......
/* jshint node: true */ /* global btoa: true */
/*! /*!
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
* http://getbootstrap.com * http://getbootstrap.com
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
var btoa = require('btoa') // jshint ignore:line var btoa = require('btoa')
var fs = require('fs') var fs = require('fs')
function getFiles(type) { function getFiles(type) {
......
/* jshint node: true */
/* /*
This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache. This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache.
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.
......
...@@ -96,9 +96,9 @@ ...@@ -96,9 +96,9 @@
// //
// Remix the default button sizing classes into new ones for easier manipulation. // Remix the default button sizing classes into new ones for easier manipulation.
.btn-group-xs > .btn { .btn-xs(); } .btn-group-xs > .btn { &:extend(.btn-xs); }
.btn-group-sm > .btn { .btn-sm(); } .btn-group-sm > .btn { &:extend(.btn-sm); }
.btn-group-lg > .btn { .btn-lg(); } .btn-group-lg > .btn { &:extend(.btn-lg); }
// Split button dropdowns // Split button dropdowns
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
// Account for jankitude on images // Account for jankitude on images
> img, > img,
> a > img { > a > img {
.img-responsive(); &:extend(.img-responsive);
line-height: 1; line-height: 1;
} }
} }
......
...@@ -133,9 +133,10 @@ output { ...@@ -133,9 +133,10 @@ output {
.placeholder(); .placeholder();
// Disabled and read-only inputs // Disabled and read-only inputs
// Note: HTML5 says that controls under a fieldset > legend:first-child won't //
// be disabled if the fieldset is disabled. Due to implementation difficulty, // HTML5 says that controls under a fieldset > legend:first-child won't be
// we don't honor that edge case; we style them as disabled anyway. // disabled if the fieldset is disabled. Due to implementation difficulty, we
// don't honor that edge case; we style them as disabled anyway.
&[disabled], &[disabled],
&[readonly], &[readonly],
fieldset[disabled] & { fieldset[disabled] & {
...@@ -150,10 +151,24 @@ output { ...@@ -150,10 +151,24 @@ output {
} }
} }
// Search inputs in iOS
//
// This overrides the extra rounded corners on search inputs in iOS so that our
// `.form-control` class can properly style them. Note that this cannot simply
// be added to `.form-control` as it's not specific enough. For details, see
// https://github.com/twbs/bootstrap/issues/11586.
input[type="search"] {
-webkit-appearance: none;
}
// Special styles for iOS date input // Special styles for iOS date input
// //
// In Mobile Safari, date inputs require a pixel line-height that matches the // In Mobile Safari, date inputs require a pixel line-height that matches the
// given height of the input. // given height of the input.
input[type="date"] { input[type="date"] {
line-height: @input-height-base; line-height: @input-height-base;
} }
...@@ -334,6 +349,10 @@ input[type="checkbox"], ...@@ -334,6 +349,10 @@ input[type="checkbox"],
width: auto; // Prevent labels from stacking above inputs in `.form-group` width: auto; // Prevent labels from stacking above inputs in `.form-group`
vertical-align: middle; vertical-align: middle;
} }
// Input groups need that 100% width though
.input-group > .form-control {
width: 100%;
}
.control-label { .control-label {
margin-bottom: 0; margin-bottom: 0;
......
...@@ -54,8 +54,7 @@ ...@@ -54,8 +54,7 @@
// Placeholder text // Placeholder text
.placeholder(@color: @input-color-placeholder) { .placeholder(@color: @input-color-placeholder) {
&:-moz-placeholder { color: @color; } // Firefox 4-18 &::-moz-placeholder { color: @color; // Firefox
&::-moz-placeholder { color: @color; // Firefox 19+
opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526
&:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+
&::-webkit-input-placeholder { color: @color; } // Safari and Chrome &::-webkit-input-placeholder { color: @color; } // Safari and Chrome
...@@ -253,7 +252,6 @@ ...@@ -253,7 +252,6 @@
-webkit-user-select: @select; -webkit-user-select: @select;
-moz-user-select: @select; -moz-user-select: @select;
-ms-user-select: @select; // IE10+ -ms-user-select: @select; // IE10+
-o-user-select: @select;
user-select: @select; user-select: @select;
} }
......
...@@ -18,6 +18,37 @@ ...@@ -18,6 +18,37 @@
&:extend(.clearfix all); &:extend(.clearfix all);
} }
// Optional heading
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
.border-top-radius((@panel-border-radius - 1));
> .dropdown .dropdown-toggle {
color: inherit;
}
}
// Within heading, strip any `h*` tag of its default margins for spacing.
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: ceil((@font-size-base * 1.125));
color: inherit;
> a {
color: inherit;
}
}
// Optional footer (stays gray in every modifier class)
.panel-footer {
padding: 10px 15px;
background-color: @panel-footer-bg;
border-top: 1px solid @panel-inner-border;
.border-bottom-radius((@panel-border-radius - 1));
}
// List groups in panels // List groups in panels
// //
...@@ -130,12 +161,22 @@ ...@@ -130,12 +161,22 @@
> td:last-child { > td:last-child {
border-right: 0; border-right: 0;
} }
&:first-child > th,
&:first-child > td {
border-top: 0;
} }
&:last-child > th, }
&:last-child > td { > thead,
> tbody {
> tr:first-child {
> td,
> th {
border-bottom: 0;
}
}
}
> tbody,
> tfoot {
> tr:last-child {
> td,
> th {
border-bottom: 0; border-bottom: 0;
} }
} }
...@@ -148,38 +189,6 @@ ...@@ -148,38 +189,6 @@
} }
// Optional heading
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
.border-top-radius((@panel-border-radius - 1));
> .dropdown .dropdown-toggle {
color: inherit;
}
}
// Within heading, strip any `h*` tag of its default margins for spacing.
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: ceil((@font-size-base * 1.125));
color: inherit;
> a {
color: inherit;
}
}
// Optional footer (stays gray in every modifier class)
.panel-footer {
padding: 10px 15px;
background-color: @panel-footer-bg;
border-top: 1px solid @panel-inner-border;
.border-bottom-radius((@panel-border-radius - 1));
}
// Collapsable panels (aka, accordion) // Collapsable panels (aka, accordion)
// //
// Wrap a series of panels in `.panel-group` to turn them into an accordion with // Wrap a series of panels in `.panel-group` to turn them into an accordion with
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
> img, > img,
a > img { a > img {
.img-responsive(); &:extend(.img-responsive);
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
......
...@@ -233,7 +233,7 @@ abbr[data-original-title] { ...@@ -233,7 +233,7 @@ abbr[data-original-title] {
blockquote { blockquote {
padding: (@line-height-computed / 2) @line-height-computed; padding: (@line-height-computed / 2) @line-height-computed;
margin: 0 0 @line-height-computed; margin: 0 0 @line-height-computed;
font-size: (@font-size-base * 1.25); font-size: @blockquote-font-size;
border-left: 5px solid @blockquote-border-color; border-left: 5px solid @blockquote-border-color;
p, p,
......
...@@ -301,6 +301,26 @@ ...@@ -301,6 +301,26 @@
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1); @grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
//== Container sizes
//
//## Define the maximum width of `.container` for different screen sizes.
// Small screen / tablet
@container-tablet: ((720px + @grid-gutter-width));
//** For `@screen-sm-min` and up.
@container-sm: @container-tablet;
// Medium screen / desktop
@container-desktop: ((940px + @grid-gutter-width));
//** For `@screen-md-min` and up.
@container-md: @container-desktop;
// Large screen / wide desktop
@container-large-desktop: ((1140px + @grid-gutter-width));
//** For `@screen-lg-min` and up.
@container-lg: @container-large-desktop;
//== Navbar //== Navbar
// //
//## //##
...@@ -790,6 +810,8 @@ ...@@ -790,6 +810,8 @@
@headings-small-color: @gray-light; @headings-small-color: @gray-light;
//** Blockquote small color //** Blockquote small color
@blockquote-small-color: @gray-light; @blockquote-small-color: @gray-light;
//** Blockquote font size
@blockquote-font-size: (@font-size-base * 1.25);
//** Blockquote border color //** Blockquote border color
@blockquote-border-color: @gray-lighter; @blockquote-border-color: @gray-lighter;
//** Page header border color //** Page header border color
...@@ -805,23 +827,3 @@ ...@@ -805,23 +827,3 @@
//** Horizontal offset for forms and lists. //** Horizontal offset for forms and lists.
@component-offset-horizontal: 180px; @component-offset-horizontal: 180px;
//== Container sizes
//
//## Define the maximum width of `.container` for different screen sizes.
// Small screen / tablet
@container-tablet: ((720px + @grid-gutter-width));
//** For `@screen-sm-min` and up.
@container-sm: @container-tablet;
// Medium screen / desktop
@container-desktop: ((940px + @grid-gutter-width));
//** For `@screen-md-min` and up.
@container-md: @container-desktop;
// Large screen / wide desktop
@container-large-desktop: ((1140px + @grid-gutter-width));
//** For `@screen-lg-min` and up.
@container-lg: @container-large-desktop;
...@@ -20,12 +20,10 @@ ...@@ -20,12 +20,10 @@
"bugs": { "bugs": {
"url": "https://github.com/twbs/bootstrap/issues" "url": "https://github.com/twbs/bootstrap/issues"
}, },
"licenses": [ "license": {
{
"type": "MIT", "type": "MIT",
"url": "https://github.com/twbs/bootstrap/blob/master/LICENSE" "url": "https://github.com/twbs/bootstrap/blob/master/LICENSE"
} },
],
"devDependencies": { "devDependencies": {
"browserstack-runner": "~0.1.0", "browserstack-runner": "~0.1.0",
"btoa": "~1.1.1", "btoa": "~1.1.1",
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment