aboutsummaryrefslogtreecommitdiff
path: root/less
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2013-10-20 22:55:45 -0700
committerMark Otto <[email protected]>2013-10-20 22:55:45 -0700
commit2eec3f919e7bd7ee847c2631ae9c53515cac1c8f (patch)
treeb9dd9c6b61fcb72aafe47dd85beac8cfb9da4fe2 /less
parentab3d0a27b3d93eebff3852728f94ddc4fcb35199 (diff)
parent6585c5898a47deb2df5f7db4f9ef3fe8fa1e5a4a (diff)
downloadbootstrap-2eec3f919e7bd7ee847c2631ae9c53515cac1c8f.tar.xz
bootstrap-2eec3f919e7bd7ee847c2631ae9c53515cac1c8f.zip
Merge branch 'master' into pr/10656
Conflicts: dist/css/bootstrap.min.css
Diffstat (limited to 'less')
-rw-r--r--less/alerts.less2
-rw-r--r--less/bootstrap.less10
-rw-r--r--less/breadcrumbs.less2
-rw-r--r--less/button-groups.less5
-rw-r--r--less/buttons.less5
-rw-r--r--less/carousel.less15
-rw-r--r--less/code.less11
-rw-r--r--less/dropdowns.less1
-rw-r--r--less/forms.less7
-rw-r--r--less/glyphicons.less22
-rw-r--r--less/grid.less301
-rw-r--r--less/jumbotron.less4
-rw-r--r--less/list-group.less24
-rw-r--r--less/mixins.less88
-rw-r--r--less/modals.less13
-rw-r--r--less/navbar.less11
-rw-r--r--less/navs.less32
-rw-r--r--less/normalize.less22
-rw-r--r--less/panels.less9
-rw-r--r--less/print.less1
-rw-r--r--less/responsive-utilities.less37
-rw-r--r--less/scaffolding.less2
-rw-r--r--less/tables.less41
-rw-r--r--less/theme.less19
-rw-r--r--less/thumbnails.less3
-rw-r--r--less/tooltip.less16
-rw-r--r--less/type.less22
-rw-r--r--less/utilities.less11
-rw-r--r--less/variables.less34
29 files changed, 304 insertions, 466 deletions
diff --git a/less/alerts.less b/less/alerts.less
index be09d18d0..3eab06629 100644
--- a/less/alerts.less
+++ b/less/alerts.less
@@ -15,7 +15,7 @@
// Headings for larger alerts
h4 {
margin-top: 0;
- // Specified for the h4 to prevent conflicts of changing @headingsColor
+ // Specified for the h4 to prevent conflicts of changing @headings-color
color: inherit;
}
// Provide class for links that match alerts
diff --git a/less/bootstrap.less b/less/bootstrap.less
index 1344b462f..b368b8710 100644
--- a/less/bootstrap.less
+++ b/less/bootstrap.less
@@ -1,13 +1,3 @@
-/*!
- * Bootstrap v3.0.0
- *
- * Copyright 2013 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Designed and built with all the love in the world by @mdo and @fat.
- */
-
// Core variables and mixins
@import "variables.less";
@import "mixins.less";
diff --git a/less/breadcrumbs.less b/less/breadcrumbs.less
index aded518ce..60b33ea72 100644
--- a/less/breadcrumbs.less
+++ b/less/breadcrumbs.less
@@ -11,7 +11,7 @@
border-radius: @border-radius-base;
> li {
display: inline-block;
- &+li:before {
+ + li:before {
content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
padding: 0 5px;
color: @breadcrumb-color;
diff --git a/less/button-groups.less b/less/button-groups.less
index 43ada11d9..d236dcb8d 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -150,6 +150,11 @@
// Remove the gradient and set the same inset shadow as the :active state
.btn-group.open .dropdown-toggle {
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
+
+ // Show no shadow for `.btn-link` since it has no other button styles.
+ &.btn-link {
+ .box-shadow(none);
+ }
}
diff --git a/less/buttons.less b/less/buttons.less
index 40511ab96..a0909606f 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -9,18 +9,15 @@
// Core styles
.btn {
display: inline-block;
- padding: @padding-base-vertical @padding-base-horizontal;
margin-bottom: 0; // For input.btn
- font-size: @font-size-base;
font-weight: @btn-font-weight;
- line-height: @line-height-base;
text-align: center;
vertical-align: middle;
cursor: pointer;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: 1px solid transparent;
- border-radius: @border-radius-base;
white-space: nowrap;
+ .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);
.user-select(none);
&:focus {
diff --git a/less/carousel.less b/less/carousel.less
index 9fff41e73..d0d90736f 100644
--- a/less/carousel.less
+++ b/less/carousel.less
@@ -160,6 +160,17 @@
border: 1px solid @carousel-indicator-border-color;
border-radius: 10px;
cursor: pointer;
+
+ // IE8-9 hack for event handling
+ //
+ // Internet Explorer 8-9 does not support clicks on elements without a set
+ // `background-color`. We cannot use `filter` since that's not viewed as a
+ // background color by the browser. Thus, a hack is needed.
+ //
+ // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
+ // set alpha transparency for the best results possible.
+ background-color: #000 \9; // IE8
+ background-color: rgba(0,0,0,0); // IE9
}
.active {
margin: 0;
@@ -190,12 +201,12 @@
// Scale up controls for tablets and up
-@media screen and (min-width: @screen-sm) {
+@media screen and (min-width: @screen-sm-min) {
// Scale up the controls a smidge
.carousel-control {
.glyphicons-chevron-left,
- .glyphicons-chevron-right
+ .glyphicons-chevron-right,
.icon-prev,
.icon-next {
width: 30px;
diff --git a/less/code.less b/less/code.less
index d6661d2b9..54ab46ac8 100644
--- a/less/code.less
+++ b/less/code.less
@@ -5,7 +5,9 @@
// Inline and block code styles
code,
-pre {
+kbd,
+pre,
+samp {
font-family: @font-family-monospace;
}
@@ -33,11 +35,6 @@ pre {
border: 1px solid @pre-border-color;
border-radius: @border-radius-base;
- // Make prettyprint styles more spaced out for readability
- &.prettyprint {
- margin-bottom: @line-height-computed;
- }
-
// Account for some code outputs that place code tags in pre tags
code {
padding: 0;
@@ -45,7 +42,7 @@ pre {
color: inherit;
white-space: pre-wrap;
background-color: transparent;
- border: 0;
+ border-radius: 0;
}
}
diff --git a/less/dropdowns.less b/less/dropdowns.less
index 96af127a5..e6bd18779 100644
--- a/less/dropdowns.less
+++ b/less/dropdowns.less
@@ -16,7 +16,6 @@
// Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once fixed,
// we can just straight up remove this.
border-bottom: 0 dotted;
- content: "";
}
// The dropdown wrapper (div)
diff --git a/less/forms.less b/less/forms.less
index 32391942b..f6bbce596 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -267,7 +267,6 @@ input[type="checkbox"],
.form-control-static {
margin-bottom: 0; // Remove default margin from `p`
- padding-top: (@padding-base-vertical + 1);
}
@@ -354,8 +353,12 @@ input[type="checkbox"],
.make-row();
}
+ .form-control-static {
+ padding-top: (@padding-base-vertical + 1);
+ }
+
// Only right align form labels here when the columns stop stacking
- @media (min-width: @screen-sm) {
+ @media (min-width: @screen-sm-min) {
.control-label {
text-align: right;
}
diff --git a/less/glyphicons.less b/less/glyphicons.less
index 7b66e6ba1..709d31865 100644
--- a/less/glyphicons.less
+++ b/less/glyphicons.less
@@ -14,7 +14,7 @@
src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),
url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),
url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),
- url('@{icon-font-path}@{icon-font-name}.svg#glyphicons-halflingsregular') format('svg');
+ url('@{icon-font-path}@{icon-font-name}.svg#glyphicons_halflingsregular') format('svg');
}
// Catchall baseclass
@@ -72,6 +72,7 @@
.glyphicon-repeat { &:before { content: "\e030"; } }
.glyphicon-refresh { &:before { content: "\e031"; } }
.glyphicon-list-alt { &:before { content: "\e032"; } }
+.glyphicon-lock { &:before { content: "\e033"; } }
.glyphicon-flag { &:before { content: "\e034"; } }
.glyphicon-headphones { &:before { content: "\e035"; } }
.glyphicon-volume-off { &:before { content: "\e036"; } }
@@ -82,7 +83,9 @@
.glyphicon-tag { &:before { content: "\e041"; } }
.glyphicon-tags { &:before { content: "\e042"; } }
.glyphicon-book { &:before { content: "\e043"; } }
+.glyphicon-bookmark { &:before { content: "\e044"; } }
.glyphicon-print { &:before { content: "\e045"; } }
+.glyphicon-camera { &:before { content: "\e046"; } }
.glyphicon-font { &:before { content: "\e047"; } }
.glyphicon-bold { &:before { content: "\e048"; } }
.glyphicon-italic { &:before { content: "\e049"; } }
@@ -136,10 +139,12 @@
.glyphicon-exclamation-sign { &:before { content: "\e101"; } }
.glyphicon-gift { &:before { content: "\e102"; } }
.glyphicon-leaf { &:before { content: "\e103"; } }
+.glyphicon-fire { &:before { content: "\e104"; } }
.glyphicon-eye-open { &:before { content: "\e105"; } }
.glyphicon-eye-close { &:before { content: "\e106"; } }
.glyphicon-warning-sign { &:before { content: "\e107"; } }
.glyphicon-plane { &:before { content: "\e108"; } }
+.glyphicon-calendar { &:before { content: "\e109"; } }
.glyphicon-random { &:before { content: "\e110"; } }
.glyphicon-comment { &:before { content: "\e111"; } }
.glyphicon-magnet { &:before { content: "\e112"; } }
@@ -153,6 +158,7 @@
.glyphicon-resize-horizontal { &:before { content: "\e120"; } }
.glyphicon-hdd { &:before { content: "\e121"; } }
.glyphicon-bullhorn { &:before { content: "\e122"; } }
+.glyphicon-bell { &:before { content: "\e123"; } }
.glyphicon-certificate { &:before { content: "\e124"; } }
.glyphicon-thumbs-up { &:before { content: "\e125"; } }
.glyphicon-thumbs-down { &:before { content: "\e126"; } }
@@ -165,13 +171,17 @@
.glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
.glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
.glyphicon-globe { &:before { content: "\e135"; } }
+.glyphicon-wrench { &:before { content: "\e136"; } }
.glyphicon-tasks { &:before { content: "\e137"; } }
.glyphicon-filter { &:before { content: "\e138"; } }
+.glyphicon-briefcase { &:before { content: "\e139"; } }
.glyphicon-fullscreen { &:before { content: "\e140"; } }
.glyphicon-dashboard { &:before { content: "\e141"; } }
+.glyphicon-paperclip { &:before { content: "\e142"; } }
.glyphicon-heart-empty { &:before { content: "\e143"; } }
.glyphicon-link { &:before { content: "\e144"; } }
.glyphicon-phone { &:before { content: "\e145"; } }
+.glyphicon-pushpin { &:before { content: "\e146"; } }
.glyphicon-usd { &:before { content: "\e148"; } }
.glyphicon-gbp { &:before { content: "\e149"; } }
.glyphicon-sort { &:before { content: "\e150"; } }
@@ -224,13 +234,3 @@
.glyphicon-cloud-upload { &:before { content: "\e198"; } }
.glyphicon-tree-conifer { &:before { content: "\e199"; } }
.glyphicon-tree-deciduous { &:before { content: "\e200"; } }
-.glyphicon-briefcase { &:before { content: "\1f4bc"; } }
-.glyphicon-calendar { &:before { content: "\1f4c5"; } }
-.glyphicon-pushpin { &:before { content: "\1f4cc"; } }
-.glyphicon-paperclip { &:before { content: "\1f4ce"; } }
-.glyphicon-camera { &:before { content: "\1f4f7"; } }
-.glyphicon-lock { &:before { content: "\1f512"; } }
-.glyphicon-bell { &:before { content: "\1f514"; } }
-.glyphicon-bookmark { &:before { content: "\1f516"; } }
-.glyphicon-fire { &:before { content: "\1f525"; } }
-.glyphicon-wrench { &:before { content: "\1f527"; } }
diff --git a/less/grid.less b/less/grid.less
index a1ec1b298..67e78f760 100644
--- a/less/grid.less
+++ b/less/grid.less
@@ -2,7 +2,6 @@
// Grid system
// --------------------------------------------------
-
// Set the container width, and override it for fixed navbars in media queries
.container {
.container-fixed();
@@ -14,61 +13,7 @@
}
// Common styles for small and large grid columns
-.col-xs-1,
-.col-xs-2,
-.col-xs-3,
-.col-xs-4,
-.col-xs-5,
-.col-xs-6,
-.col-xs-7,
-.col-xs-8,
-.col-xs-9,
-.col-xs-10,
-.col-xs-11,
-.col-xs-12,
-.col-sm-1,
-.col-sm-2,
-.col-sm-3,
-.col-sm-4,
-.col-sm-5,
-.col-sm-6,
-.col-sm-7,
-.col-sm-8,
-.col-sm-9,
-.col-sm-10,
-.col-sm-11,
-.col-sm-12,
-.col-md-1,
-.col-md-2,
-.col-md-3,
-.col-md-4,
-.col-md-5,
-.col-md-6,
-.col-md-7,
-.col-md-8,
-.col-md-9,
-.col-md-10,
-.col-md-11,
-.col-md-12,
-.col-lg-1,
-.col-lg-2,
-.col-lg-3,
-.col-lg-4,
-.col-lg-5,
-.col-lg-6,
-.col-lg-7,
-.col-lg-8,
-.col-lg-9,
-.col-lg-10,
-.col-lg-11,
-.col-lg-12 {
- position: relative;
- // Prevent columns from collapsing when empty
- min-height: 1px;
- // Inner gutter via padding
- padding-left: (@grid-gutter-width / 2);
- padding-right: (@grid-gutter-width / 2);
-}
+.make-grid-columns();
// Extra small grid
@@ -79,31 +24,11 @@
// Note that `.col-xs-12` doesn't get floated on purpose--there's no need since
// it's full-width.
-.col-xs-1,
-.col-xs-2,
-.col-xs-3,
-.col-xs-4,
-.col-xs-5,
-.col-xs-6,
-.col-xs-7,
-.col-xs-8,
-.col-xs-9,
-.col-xs-10,
-.col-xs-11 {
- float: left;
-}
-.col-xs-1 { width: percentage((1 / @grid-columns)); }
-.col-xs-2 { width: percentage((2 / @grid-columns)); }
-.col-xs-3 { width: percentage((3 / @grid-columns)); }
-.col-xs-4 { width: percentage((4 / @grid-columns)); }
-.col-xs-5 { width: percentage((5 / @grid-columns)); }
-.col-xs-6 { width: percentage((6 / @grid-columns)); }
-.col-xs-7 { width: percentage((7 / @grid-columns)); }
-.col-xs-8 { width: percentage((8 / @grid-columns)); }
-.col-xs-9 { width: percentage((9 / @grid-columns)); }
-.col-xs-10 { width: percentage((10/ @grid-columns)); }
-.col-xs-11 { width: percentage((11/ @grid-columns)); }
-.col-xs-12 { width: 100%; }
+.make-grid-columns-float(xs);
+.make-grid(@grid-columns, xs, width);
+.make-grid(@grid-columns, xs, pull);
+.make-grid(@grid-columns, xs, push);
+.make-grid(@grid-columns, xs, offset);
// Small grid
@@ -114,74 +39,16 @@
// Note that `.col-sm-12` doesn't get floated on purpose--there's no need since
// it's full-width.
-@media (min-width: @screen-sm) {
+@media (min-width: @screen-sm-min) {
.container {
width: @container-sm;
}
- .col-sm-1,
- .col-sm-2,
- .col-sm-3,
- .col-sm-4,
- .col-sm-5,
- .col-sm-6,
- .col-sm-7,
- .col-sm-8,
- .col-sm-9,
- .col-sm-10,
- .col-sm-11 {
- float: left;
- }
- .col-sm-1 { width: percentage((1 / @grid-columns)); }
- .col-sm-2 { width: percentage((2 / @grid-columns)); }
- .col-sm-3 { width: percentage((3 / @grid-columns)); }
- .col-sm-4 { width: percentage((4 / @grid-columns)); }
- .col-sm-5 { width: percentage((5 / @grid-columns)); }
- .col-sm-6 { width: percentage((6 / @grid-columns)); }
- .col-sm-7 { width: percentage((7 / @grid-columns)); }
- .col-sm-8 { width: percentage((8 / @grid-columns)); }
- .col-sm-9 { width: percentage((9 / @grid-columns)); }
- .col-sm-10 { width: percentage((10/ @grid-columns)); }
- .col-sm-11 { width: percentage((11/ @grid-columns)); }
- .col-sm-12 { width: 100%; }
-
- // Push and pull columns for source order changes
- .col-sm-push-1 { left: percentage((1 / @grid-columns)); }
- .col-sm-push-2 { left: percentage((2 / @grid-columns)); }
- .col-sm-push-3 { left: percentage((3 / @grid-columns)); }
- .col-sm-push-4 { left: percentage((4 / @grid-columns)); }
- .col-sm-push-5 { left: percentage((5 / @grid-columns)); }
- .col-sm-push-6 { left: percentage((6 / @grid-columns)); }
- .col-sm-push-7 { left: percentage((7 / @grid-columns)); }
- .col-sm-push-8 { left: percentage((8 / @grid-columns)); }
- .col-sm-push-9 { left: percentage((9 / @grid-columns)); }
- .col-sm-push-10 { left: percentage((10/ @grid-columns)); }
- .col-sm-push-11 { left: percentage((11/ @grid-columns)); }
-
- .col-sm-pull-1 { right: percentage((1 / @grid-columns)); }
- .col-sm-pull-2 { right: percentage((2 / @grid-columns)); }
- .col-sm-pull-3 { right: percentage((3 / @grid-columns)); }
- .col-sm-pull-4 { right: percentage((4 / @grid-columns)); }
- .col-sm-pull-5 { right: percentage((5 / @grid-columns)); }
- .col-sm-pull-6 { right: percentage((6 / @grid-columns)); }
- .col-sm-pull-7 { right: percentage((7 / @grid-columns)); }
- .col-sm-pull-8 { right: percentage((8 / @grid-columns)); }
- .col-sm-pull-9 { right: percentage((9 / @grid-columns)); }
- .col-sm-pull-10 { right: percentage((10/ @grid-columns)); }
- .col-sm-pull-11 { right: percentage((11/ @grid-columns)); }
-
- // Offsets
- .col-sm-offset-1 { margin-left: percentage((1 / @grid-columns)); }
- .col-sm-offset-2 { margin-left: percentage((2 / @grid-columns)); }
- .col-sm-offset-3 { margin-left: percentage((3 / @grid-columns)); }
- .col-sm-offset-4 { margin-left: percentage((4 / @grid-columns)); }
- .col-sm-offset-5 { margin-left: percentage((5 / @grid-columns)); }
- .col-sm-offset-6 { margin-left: percentage((6 / @grid-columns)); }
- .col-sm-offset-7 { margin-left: percentage((7 / @grid-columns)); }
- .col-sm-offset-8 { margin-left: percentage((8 / @grid-columns)); }
- .col-sm-offset-9 { margin-left: percentage((9 / @grid-columns)); }
- .col-sm-offset-10 { margin-left: percentage((10/ @grid-columns)); }
- .col-sm-offset-11 { margin-left: percentage((11/ @grid-columns)); }
+ .make-grid-columns-float(sm);
+ .make-grid(@grid-columns, sm, width);
+ .make-grid(@grid-columns, sm, pull);
+ .make-grid(@grid-columns, sm, push);
+ .make-grid(@grid-columns, sm, offset);
}
@@ -192,76 +59,16 @@
// Note that `.col-md-12` doesn't get floated on purpose--there's no need since
// it's full-width.
-@media (min-width: @screen-md) {
+@media (min-width: @screen-md-min) {
.container {
width: @container-md;
}
- .col-md-1,
- .col-md-2,
- .col-md-3,
- .col-md-4,
- .col-md-5,
- .col-md-6,
- .col-md-7,
- .col-md-8,
- .col-md-9,
- .col-md-10,
- .col-md-11 {
- float: left;
- }
- .col-md-1 { width: percentage((1 / @grid-columns)); }
- .col-md-2 { width: percentage((2 / @grid-columns)); }
- .col-md-3 { width: percentage((3 / @grid-columns)); }
- .col-md-4 { width: percentage((4 / @grid-columns)); }
- .col-md-5 { width: percentage((5 / @grid-columns)); }
- .col-md-6 { width: percentage((6 / @grid-columns)); }
- .col-md-7 { width: percentage((7 / @grid-columns)); }
- .col-md-8 { width: percentage((8 / @grid-columns)); }
- .col-md-9 { width: percentage((9 / @grid-columns)); }
- .col-md-10 { width: percentage((10/ @grid-columns)); }
- .col-md-11 { width: percentage((11/ @grid-columns)); }
- .col-md-12 { width: 100%; }
- // Push and pull columns for source order changes
- .col-md-push-0 { left: auto; }
- .col-md-push-1 { left: percentage((1 / @grid-columns)); }
- .col-md-push-2 { left: percentage((2 / @grid-columns)); }
- .col-md-push-3 { left: percentage((3 / @grid-columns)); }
- .col-md-push-4 { left: percentage((4 / @grid-columns)); }
- .col-md-push-5 { left: percentage((5 / @grid-columns)); }
- .col-md-push-6 { left: percentage((6 / @grid-columns)); }
- .col-md-push-7 { left: percentage((7 / @grid-columns)); }
- .col-md-push-8 { left: percentage((8 / @grid-columns)); }
- .col-md-push-9 { left: percentage((9 / @grid-columns)); }
- .col-md-push-10 { left: percentage((10/ @grid-columns)); }
- .col-md-push-11 { left: percentage((11/ @grid-columns)); }
-
- .col-md-pull-0 { right: auto; }
- .col-md-pull-1 { right: percentage((1 / @grid-columns)); }
- .col-md-pull-2 { right: percentage((2 / @grid-columns)); }
- .col-md-pull-3 { right: percentage((3 / @grid-columns)); }
- .col-md-pull-4 { right: percentage((4 / @grid-columns)); }
- .col-md-pull-5 { right: percentage((5 / @grid-columns)); }
- .col-md-pull-6 { right: percentage((6 / @grid-columns)); }
- .col-md-pull-7 { right: percentage((7 / @grid-columns)); }
- .col-md-pull-8 { right: percentage((8 / @grid-columns)); }
- .col-md-pull-9 { right: percentage((9 / @grid-columns)); }
- .col-md-pull-10 { right: percentage((10/ @grid-columns)); }
- .col-md-pull-11 { right: percentage((11/ @grid-columns)); }
-
- // Offsets
- .col-md-offset-0 { margin-left: 0; }
- .col-md-offset-1 { margin-left: percentage((1 / @grid-columns)); }
- .col-md-offset-2 { margin-left: percentage((2 / @grid-columns)); }
- .col-md-offset-3 { margin-left: percentage((3 / @grid-columns)); }
- .col-md-offset-4 { margin-left: percentage((4 / @grid-columns)); }
- .col-md-offset-5 { margin-left: percentage((5 / @grid-columns)); }
- .col-md-offset-6 { margin-left: percentage((6 / @grid-columns)); }
- .col-md-offset-7 { margin-left: percentage((7 / @grid-columns)); }
- .col-md-offset-8 { margin-left: percentage((8 / @grid-columns)); }
- .col-md-offset-9 { margin-left: percentage((9 / @grid-columns)); }
- .col-md-offset-10 { margin-left: percentage((10/ @grid-columns)); }
- .col-md-offset-11 { margin-left: percentage((11/ @grid-columns)); }
+ .make-grid-columns-float(md);
+ .make-grid(@grid-columns, md, width);
+ .make-grid(@grid-columns, md, pull);
+ .make-grid(@grid-columns, md, push);
+ .make-grid(@grid-columns, md, offset);
}
@@ -277,70 +84,10 @@
width: @container-lg;
}
- .col-lg-1,
- .col-lg-2,
- .col-lg-3,
- .col-lg-4,
- .col-lg-5,
- .col-lg-6,
- .col-lg-7,
- .col-lg-8,
- .col-lg-9,
- .col-lg-10,
- .col-lg-11 {
- float: left;
- }
- .col-lg-1 { width: percentage((1 / @grid-columns)); }
- .col-lg-2 { width: percentage((2 / @grid-columns)); }
- .col-lg-3 { width: percentage((3 / @grid-columns)); }
- .col-lg-4 { width: percentage((4 / @grid-columns)); }
- .col-lg-5 { width: percentage((5 / @grid-columns)); }
- .col-lg-6 { width: percentage((6 / @grid-columns)); }
- .col-lg-7 { width: percentage((7 / @grid-columns)); }
- .col-lg-8 { width: percentage((8 / @grid-columns)); }
- .col-lg-9 { width: percentage((9 / @grid-columns)); }
- .col-lg-10 { width: percentage((10/ @grid-columns)); }
- .col-lg-11 { width: percentage((11/ @grid-columns)); }
- .col-lg-12 { width: 100%; }
-
- // Push and pull columns for source order changes
- .col-lg-push-0 { left: auto; }
- .col-lg-push-1 { left: percentage((1 / @grid-columns)); }
- .col-lg-push-2 { left: percentage((2 / @grid-columns)); }
- .col-lg-push-3 { left: percentage((3 / @grid-columns)); }
- .col-lg-push-4 { left: percentage((4 / @grid-columns)); }
- .col-lg-push-5 { left: percentage((5 / @grid-columns)); }
- .col-lg-push-6 { left: percentage((6 / @grid-columns)); }
- .col-lg-push-7 { left: percentage((7 / @grid-columns)); }
- .col-lg-push-8 { left: percentage((8 / @grid-columns)); }
- .col-lg-push-9 { left: percentage((9 / @grid-columns)); }
- .col-lg-push-10 { left: percentage((10/ @grid-columns)); }
- .col-lg-push-11 { left: percentage((11/ @grid-columns)); }
-
- .col-lg-pull-0 { right: auto; }
- .col-lg-pull-1 { right: percentage((1 / @grid-columns)); }
- .col-lg-pull-2 { right: percentage((2 / @grid-columns)); }
- .col-lg-pull-3 { right: percentage((3 / @grid-columns)); }
- .col-lg-pull-4 { right: percentage((4 / @grid-columns)); }
- .col-lg-pull-5 { right: percentage((5 / @grid-columns)); }
- .col-lg-pull-6 { right: percentage((6 / @grid-columns)); }
- .col-lg-pull-7 { right: percentage((7 / @grid-columns)); }
- .col-lg-pull-8 { right: percentage((8 / @grid-columns)); }
- .col-lg-pull-9 { right: percentage((9 / @grid-columns)); }
- .col-lg-pull-10 { right: percentage((10/ @grid-columns)); }
- .col-lg-pull-11 { right: percentage((11/ @grid-columns)); }
-
- // Offsets
- .col-lg-offset-0 { margin-left: 0; }
- .col-lg-offset-1 { margin-left: percentage((1 / @grid-columns)); }
- .col-lg-offset-2 { margin-left: percentage((2 / @grid-columns)); }
- .col-lg-offset-3 { margin-left: percentage((3 / @grid-columns)); }
- .col-lg-offset-4 { margin-left: percentage((4 / @grid-columns)); }
- .col-lg-offset-5 { margin-left: percentage((5 / @grid-columns)); }
- .col-lg-offset-6 { margin-left: percentage((6 / @grid-columns)); }
- .col-lg-offset-7 { margin-left: percentage((7 / @grid-columns)); }
- .col-lg-offset-8 { margin-left: percentage((8 / @grid-columns)); }
- .col-lg-offset-9 { margin-left: percentage((9 / @grid-columns)); }
- .col-lg-offset-10 { margin-left: percentage((10/ @grid-columns)); }
- .col-lg-offset-11 { margin-left: percentage((11/ @grid-columns)); }
+ .make-grid-columns-float(lg);
+ .make-grid(@grid-columns, lg, width);
+ .make-grid(@grid-columns, lg, pull);
+ .make-grid(@grid-columns, lg, push);
+ .make-grid(@grid-columns, lg, offset);
}
+
diff --git a/less/jumbotron.less b/less/jumbotron.less
index 53289fb2c..22c29780a 100644
--- a/less/jumbotron.less
+++ b/less/jumbotron.less
@@ -6,7 +6,7 @@
.jumbotron {
padding: @jumbotron-padding;
margin-bottom: @jumbotron-padding;
- font-size: (@font-size-base * 1.5);
+ font-size: @jumbotron-font-size;
font-weight: 200;
line-height: (@line-height-base * 1.5);
color: @jumbotron-color;
@@ -24,7 +24,7 @@
border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
}
- @media screen and (min-width: @screen-sm) {
+ @media screen and (min-width: @screen-sm-min) {
padding-top: (@jumbotron-padding * 1.6);
padding-bottom: (@jumbotron-padding * 1.6);
diff --git a/less/list-group.less b/less/list-group.less
index 46cda4085..2cee52973 100644
--- a/less/list-group.less
+++ b/less/list-group.less
@@ -39,21 +39,21 @@
> .badge + .badge {
margin-right: 5px;
}
+}
- // Linked list items
- a& {
- color: @list-group-link-color;
+// Linked list items
+a.list-group-item {
+ color: @list-group-link-color;
- .list-group-item-heading {
- color: @list-group-link-heading-color;
- }
+ .list-group-item-heading {
+ color: @list-group-link-heading-color;
+ }
- // Hover state
- &:hover,
- &:focus {
- text-decoration: none;
- background-color: @list-group-hover-bg;
- }
+ // Hover state
+ &:hover,
+ &:focus {
+ text-decoration: none;
+ background-color: @list-group-hover-bg;
}
// Active class on item itself, not parent
diff --git a/less/mixins.less b/less/mixins.less
index f8afa0eeb..61df50891 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -389,10 +389,12 @@
// -------------------------
.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border;) {
border-color: @border;
+
& > .panel-heading {
color: @heading-text-color;
background-color: @heading-bg-color;
border-color: @heading-border;
+
+ .panel-collapse .panel-body {
border-top-color: @border;
}
@@ -413,6 +415,7 @@
background-color: @background;
border-color: @border;
color: @text-color;
+
hr {
border-top-color: darken(@border, 5%);
}
@@ -562,12 +565,13 @@
}
.responsive-invisibility() {
- display: none !important;
- tr& { display: none !important; }
+ &,
+ tr&,
th&,
td& { display: none !important; }
}
+
// Grid System
// -----------
@@ -699,6 +703,80 @@
}
+// Framework grid generation
+//
+// Used only by Bootstrap to generate the correct number of grid classes given
+// any value of `@grid-columns`.
+
+.make-grid-columns() {
+ // Common styles for all sizes of grid columns, widths 1-12
+ .col(@index) when (@index = 1) { // initial
+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
+ .col(@index + 1, @item);
+ }
+ .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
+ @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
+ .col(@index + 1, ~"@{list}, @{item}");
+ }
+ .col(@index, @list) when (@index > @grid-columns) { // terminal
+ @{list} {
+ position: relative;
+ // Prevent columns from collapsing when empty
+ min-height: 1px;
+ // Inner gutter via padding
+ padding-left: (@grid-gutter-width / 2);
+ padding-right: (@grid-gutter-width / 2);
+ }
+ }
+ .col(1); // kickstart it
+}
+
+.make-grid-columns-float(@class) {
+ .col(@index) when (@index = 1) { // initial
+ @item: ~".col-@{class}-@{index}";
+ .col(@index + 1, @item);
+ }
+ .col(@index, @list) when (@index < @grid-columns) { // general
+ @item: ~".col-@{class}-@{index}";
+ .col(@index + 1, ~"@{list}, @{item}");
+ }
+ .col(@index, @list) when (@index = @grid-columns) { // terminal
+ @{list} {
+ float: left;
+ }
+ }
+ .col(1); // kickstart it
+}
+
+.calc-grid(@index, @class, @type) when (@type = width) {
+ .col-@{class}-@{index} {
+ width: percentage((@index / @grid-columns));
+ }
+}
+.calc-grid(@index, @class, @type) when (@type = push) {
+ .col-@{class}-push-@{index} {
+ left: percentage((@index / @grid-columns));
+ }
+}
+.calc-grid(@index, @class, @type) when (@type = pull) {
+ .col-@{class}-pull-@{index} {
+ right: percentage((@index / @grid-columns));
+ }
+}
+.calc-grid(@index, @class, @type) when (@type = offset) {
+ .col-@{class}-offset-@{index} {
+ margin-left: percentage((@index / @grid-columns));
+ }
+}
+
+// Basic looping in LESS
+.make-grid(@index, @class, @type) when (@index > 0) {
+ .calc-grid(@index, @class, @type);
+ // next iteration
+ .make-grid(@index - 1, @class, @type);
+}
+
+
// Form validation states
//
// Used in forms.less to generate the form validation CSS for warnings, errors,
@@ -707,7 +785,11 @@
.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {
// Color the label and help text
.help-block,
- .control-label {
+ .control-label,
+ .radio,
+ .checkbox,
+ .radio-inline,
+ .checkbox-inline {
color: @text-color;
}
// Set the border and box shadow on specific inputs to match
diff --git a/less/modals.less b/less/modals.less
index f886fb25c..99cf76469 100644
--- a/less/modals.less
+++ b/less/modals.less
@@ -10,14 +10,6 @@
// Kill the scroll on the body
.modal-open {
overflow: hidden;
-
-
- // Account for hiding of scrollbar
- body&,
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- margin-right: 15px
- }
}
// Container that the modal scrolls within
@@ -42,6 +34,7 @@
// Shell div to position the modal with bottom padding
.modal-dialog {
+ position: relative;
margin-left: auto;
margin-right: auto;
width: auto;
@@ -125,11 +118,9 @@
}
// Scale up the modal
-@media screen and (min-width: @screen-sm) {
+@media screen and (min-width: @screen-sm-min) {
.modal-dialog {
- left: 50%;
- right: auto;
width: 600px;
padding-top: 30px;
padding-bottom: 30px;
diff --git a/less/navbar.less b/less/navbar.less
index 351e20417..577e20ed5 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -10,7 +10,6 @@
.navbar {
position: relative;
- z-index: @zindex-navbar;
min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
margin-bottom: @navbar-margin-bottom;
border: 1px solid transparent;
@@ -116,7 +115,9 @@
// Static top (unfixed, but 100% wide) navbar
.navbar-static-top {
+ z-index: @zindex-navbar;
border-width: 0 0 1px;
+
@media (min-width: @grid-float-breakpoint) {
border-radius: 0;
}
@@ -128,7 +129,7 @@
position: fixed;
right: 0;
left: 0;
- border-width: 0 0 1px;
+ z-index: @zindex-navbar-fixed;
// Undo the rounded corners
@media (min-width: @grid-float-breakpoint) {
@@ -136,12 +137,13 @@
}
}
.navbar-fixed-top {
- z-index: @zindex-navbar-fixed;
top: 0;
+ border-width: 0 0 1px;
}
.navbar-fixed-bottom {
bottom: 0;
margin-bottom: 0; // override .navbar defaults
+ border-width: 1px 0 0;
}
@@ -152,6 +154,7 @@
padding: @navbar-padding-vertical @navbar-padding-horizontal;
font-size: @font-size-large;
line-height: @line-height-computed;
+
&:hover,
&:focus {
text-decoration: none;
@@ -408,7 +411,7 @@
.navbar-collapse,
.navbar-form {
- border-color: darken(@navbar-default-bg, 7%);
+ border-color: @navbar-default-border;
}
// Dropdown menu items and carets
diff --git a/less/navs.less b/less/navs.less
index bdab92606..bebb63311 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -48,6 +48,11 @@
&:focus {
background-color: @nav-link-hover-bg;
border-color: @link-color;
+
+ .caret {
+ border-top-color: @link-hover-color;
+ border-bottom-color: @link-hover-color;
+ }
}
}
@@ -120,7 +125,7 @@
// Links rendered as pills
> a {
- border-radius: 5px;
+ border-radius: @nav-pills-border-radius;
}
+ li {
margin-left: 2px;
@@ -133,6 +138,11 @@
&:focus {
color: @nav-pills-active-link-hover-color;
background-color: @nav-pills-active-link-hover-bg;
+
+ .caret {
+ border-top-color: @nav-pills-active-link-hover-color;
+ border-bottom-color: @nav-pills-active-link-hover-color;
+ }
}
}
}
@@ -180,6 +190,8 @@
}
// Move borders to anchors instead of bottom of list
+//
+// Mixin for adding on top the shared `.nav-justified` styles for our tabs
.nav-tabs-justified {
border-bottom: 0;
@@ -212,25 +224,17 @@
// Tabbable tabs
// -------------------------
-// Clear any floats
-.tabbable {
- .clearfix();
-}
-
-// Show/hide tabbable areas
-.tab-content > .tab-pane,
-.pill-content > .pill-pane {
- display: none;
-}
-.tab-content,
-.pill-content {
+// Hide tabbable panes to start, show them when `.active`
+.tab-content {
+ > .tab-pane {
+ display: none;
+ }
> .active {
display: block;
}
}
-
// Dropdowns
// -------------------------
diff --git a/less/normalize.less b/less/normalize.less
index a2e9c6485..42a393fc0 100644
--- a/less/normalize.less
+++ b/less/normalize.less
@@ -1,4 +1,4 @@
-/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
// ==========================================================================
// HTML5 display definitions
@@ -44,10 +44,12 @@ audio:not([controls]) {
}
//
-// Address styling not present in IE 8/9.
+// Address `[hidden]` styling not present in IE 8/9.
+// Hide the `template` element in IE, Safari, and Firefox < 22.
//
-[hidden] {
+[hidden],
+template {
display: none;
}
@@ -63,8 +65,8 @@ audio:not([controls]) {
html {
font-family: sans-serif; // 1
- -webkit-text-size-adjust: 100%; // 2
-ms-text-size-adjust: 100%; // 2
+ -webkit-text-size-adjust: 100%; // 2
}
//
@@ -80,6 +82,14 @@ body {
// ==========================================================================
//
+// Remove the gray background color from active links in IE 10.
+//
+
+a {
+ background: transparent;
+}
+
+//
// Address `outline` inconsistency between Chrome and other browsers.
//
@@ -329,8 +339,8 @@ html input[disabled] {
}
//
-// 1. Address box sizing set to `content-box` in IE 8/9.
-// 2. Remove excess padding in IE 8/9.
+// 1. Address box sizing set to `content-box` in IE 8/9/10.
+// 2. Remove excess padding in IE 8/9/10.
//
input[type="checkbox"],
diff --git a/less/panels.less b/less/panels.less
index c02cd130e..50bf419d7 100644
--- a/less/panels.less
+++ b/less/panels.less
@@ -56,13 +56,16 @@
// watch it go full width.
.panel {
- > .table {
+ > .table,
+ > .table-responsive {
margin-bottom: 0;
}
- > .panel-body + .table {
+ > .panel-body + .table,
+ > .panel-body + .table-responsive {
border-top: 1px solid @table-border-color;
}
- > .table-bordered {
+ > .table-bordered,
+ > .table-responsive > .table-bordered {
border: 0;
> thead,
> tbody,
diff --git a/less/print.less b/less/print.less
index 1e4bffe3f..2a5b154fe 100644
--- a/less/print.less
+++ b/less/print.less
@@ -26,7 +26,6 @@
}
// Don't show links for images, or javascript/internal links
- .ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
diff --git a/less/responsive-utilities.less b/less/responsive-utilities.less
index 02bb39bfb..df53e479d 100644
--- a/less/responsive-utilities.less
+++ b/less/responsive-utilities.less
@@ -3,36 +3,25 @@
// --------------------------------------------------
-// IE10 Metro responsive
-// Required for Windows 8 Metro split-screen snapping with IE10
+// IE10 in Windows (Phone) 8
//
-// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
-@-ms-viewport{
- width: device-width;
-}
-
-// IE10 on Windows Phone 8
-// IE10 on WP8 doesn't report CSS pixels, but actual device pixels. In
-// other words, say on a Lumia, you'll get 768px as the device width,
-// meaning users will see the tablet styles and not phone styles.
+// Support for responsive views via media queries is kind of borked in IE10, for
+// Surface/desktop in split view and for Windows Phone 8. This particular fix
+// must be accompanied by a snippet of JavaScript to sniff the user agent and
+// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
+// our Getting Started page for more information on this bug.
//
-// Alternatively you can override this with JS (see source below), but
-// we won't be doing that here given our limited scope.
+// For more information, see the following:
//
-// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
-@media screen and (max-width: 400px) {
- @-ms-viewport{
- width: 320px;
- }
-}
+// Issue: https://github.com/twbs/bootstrap/issues/10497
+// Docs: http://getbootstrap.com/getting-started/#browsers
+// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
-// Hide from screenreaders and browsers
-// Credit: HTML5 Boilerplate
-.hidden {
- display: none !important;
- visibility: hidden !important;
+@-ms-viewport {
+ width: device-width;
}
+
// Visibility utilities
.visible-xs {
diff --git a/less/scaffolding.less b/less/scaffolding.less
index 046eb774a..976b4e3c2 100644
--- a/less/scaffolding.less
+++ b/less/scaffolding.less
@@ -114,6 +114,6 @@ hr {
margin: -1px;
padding: 0;
overflow: hidden;
- clip: rect(0 0 0 0);
+ clip: rect(0,0,0,0);
border: 0;
}
diff --git a/less/tables.less b/less/tables.less
index ace7e4ba1..0deadc782 100644
--- a/less/tables.less
+++ b/less/tables.less
@@ -91,12 +91,10 @@ th {
}
}
}
- > thead {
- > tr {
- > th,
- > td {
- border-bottom-width: 2px;
- }
+ > thead > tr {
+ > th,
+ > td {
+ border-bottom-width: 2px;
}
}
}
@@ -106,14 +104,10 @@ th {
//
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
-.table-striped {
- > tbody {
- > tr:nth-child(odd) {
- > td,
- > th {
- background-color: @table-bg-accent;
- }
- }
+.table-striped > tbody > tr:nth-child(odd) {
+ > td,
+ > th {
+ background-color: @table-bg-accent;
}
}
@@ -122,14 +116,10 @@ th {
//
// Placed here since it has to come after the potential zebra striping
-.table-hover {
- > tbody {
- > tr:hover {
- > td,
- > th {
- background-color: @table-bg-hover;
- }
- }
+.table-hover > tbody > tr:hover {
+ > td,
+ > th {
+ background-color: @table-bg-hover;
}
}
@@ -181,20 +171,19 @@ table {
// by enabling horizontal scrolling. Only applies <768px. Everything above that
// will display normally.
-@media (max-width: @screen-sm-min) {
+@media (max-width: @screen-xs-max) {
.table-responsive {
width: 100%;
- margin-bottom: 15px;
+ margin-bottom: (@line-height-computed * 0.75);
overflow-y: hidden;
overflow-x: scroll;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid @table-border-color;
-webkit-overflow-scrolling: touch;
- // Tighten up spacing and give a background color
+ // Tighten up spacing
> .table {
margin-bottom: 0;
- background-color: #fff;
// Ensure the content doesn't wrap
> thead,
diff --git a/less/theme.less b/less/theme.less
index 71d1d1e6b..0addce3f2 100644
--- a/less/theme.less
+++ b/less/theme.less
@@ -31,8 +31,9 @@
}
// Mixin for generating new styles
-.btn-styles(@btn-color: #555;) {
+.btn-styles(@btn-color: #555) {
#gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
+ .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners
background-repeat: repeat-x;
border-color: darken(@btn-color, 14%);
@@ -59,7 +60,7 @@
}
// Apply the mixin to the buttons
-.btn-default { .btn-styles(@btn-default-bg;); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
+.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
.btn-primary { .btn-styles(@btn-primary-bg); }
.btn-success { .btn-styles(@btn-success-bg); }
.btn-warning { .btn-styles(@btn-warning-bg); }
@@ -103,13 +104,14 @@
// Default navbar
.navbar-default {
- #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg;);
+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);
+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
border-radius: @navbar-border-radius;
@shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
.box-shadow(@shadow);
.navbar-nav > .active > a {
- #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%););
+ #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));
.box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
}
}
@@ -120,10 +122,11 @@
// Inverted navbar
.navbar-inverse {
- #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg;);
+ #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);
+ .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered
.navbar-nav > .active > a {
- #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%););
+ #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));
.box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
}
@@ -173,7 +176,7 @@
// Give the progress background some depth
.progress {
- #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg;)
+ #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)
}
// Mixin for generating new styles
@@ -237,7 +240,7 @@
// --------------------------------------------------
.well {
- #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg;);
+ #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);
border-color: darken(@well-bg, 10%);
@shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
.box-shadow(@shadow);
diff --git a/less/thumbnails.less b/less/thumbnails.less
index a210cac72..df46fbdc2 100644
--- a/less/thumbnails.less
+++ b/less/thumbnails.less
@@ -17,7 +17,8 @@
// Add a hover state for linked versions only
a.thumbnail:hover,
-a.thumbnail:focus {
+a.thumbnail:focus,
+a.thumbnail.active {
border-color: @link-color;
}
diff --git a/less/tooltip.less b/less/tooltip.less
index 5a95b8462..ce793cb93 100644
--- a/less/tooltip.less
+++ b/less/tooltip.less
@@ -14,10 +14,10 @@
.opacity(0);
&.in { .opacity(.9); }
- &.top { margin-top: -3px; padding: 5px 0; }
- &.right { margin-left: 3px; padding: 0 5px; }
- &.bottom { margin-top: 3px; padding: 5px 0; }
- &.left { margin-left: -3px; padding: 0 5px; }
+ &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
+ &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
+ &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
+ &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
}
// Wrapper for the tooltip content
@@ -49,13 +49,13 @@
}
&.top-left .tooltip-arrow {
bottom: 0;
- left: 5px;
+ left: @tooltip-arrow-width;
border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
border-top-color: @tooltip-arrow-color;
}
&.top-right .tooltip-arrow {
bottom: 0;
- right: 5px;
+ right: @tooltip-arrow-width;
border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
border-top-color: @tooltip-arrow-color;
}
@@ -82,13 +82,13 @@
}
&.bottom-left .tooltip-arrow {
top: 0;
- left: 5px;
+ left: @tooltip-arrow-width;
border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
border-bottom-color: @tooltip-arrow-color;
}
&.bottom-right .tooltip-arrow {
top: 0;
- right: 5px;
+ right: @tooltip-arrow-width;
border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
border-bottom-color: @tooltip-arrow-color;
}
diff --git a/less/type.less b/less/type.less
index 2f154516c..e5544ab3e 100644
--- a/less/type.less
+++ b/less/type.less
@@ -11,11 +11,11 @@ p {
}
.lead {
margin-bottom: @line-height-computed;
- font-size: (@font-size-base * 1.15);
+ font-size: floor(@font-size-base * 1.15);
font-weight: 200;
line-height: 1.4;
- @media (min-width: @screen-sm) {
+ @media (min-width: @screen-sm-min) {
font-size: (@font-size-base * 1.5);
}
}
@@ -82,7 +82,8 @@ h1, h2, h3, h4, h5, h6,
line-height: @headings-line-height;
color: @headings-color;
- small {
+ small,
+ .small {
font-weight: normal;
line-height: 1;
color: @headings-small-color;
@@ -95,7 +96,8 @@ h3 {
margin-top: @line-height-computed;
margin-bottom: (@line-height-computed / 2);
- small {
+ small,
+ .small {
font-size: 65%;
}
}
@@ -105,7 +107,8 @@ h6 {
margin-top: (@line-height-computed / 2);
margin-bottom: (@line-height-computed / 2);
- small {
+ small,
+ .small {
font-size: 75%;
}
}
@@ -240,10 +243,12 @@ blockquote {
border-right: 5px solid @blockquote-border-color;
border-left: 0;
p,
- small {
+ small,
+ .small {
text-align: right;
}
- small {
+ small,
+ .small {
&:before {
content: '';
}
@@ -255,8 +260,6 @@ blockquote {
}
// Quotes
-q:before,
-q:after,
blockquote:before,
blockquote:after {
content: "";
@@ -264,7 +267,6 @@ blockquote:after {
// Addresses
address {
- display: block;
margin-bottom: @line-height-computed;
font-style: normal;
line-height: @line-height-base;
diff --git a/less/utilities.less b/less/utilities.less
index fa2d004ae..a26031214 100644
--- a/less/utilities.less
+++ b/less/utilities.less
@@ -23,6 +23,7 @@
// Toggling content
// -------------------------
+// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
.hide {
display: none !important;
}
@@ -37,6 +38,16 @@
}
+// Hide from screenreaders and browsers
+//
+// Credit: HTML5 Boilerplate
+
+.hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+
+
// For Affix plugin
// -------------------------
diff --git a/less/variables.less b/less/variables.less
index d0f921481..e596215d0 100644
--- a/less/variables.less
+++ b/less/variables.less
@@ -48,9 +48,9 @@
@font-size-large: ceil(@font-size-base * 1.25); // ~18px
@font-size-small: ceil(@font-size-base * 0.85); // ~12px
-@font-size-h1: floor(@font-size-base * 2.60); // ~36px
+@font-size-h1: floor(@font-size-base * 2.6); // ~36px
@font-size-h2: floor(@font-size-base * 2.15); // ~30px
-@font-size-h3: ceil(@font-size-base * 1.70); // ~24px
+@font-size-h3: ceil(@font-size-base * 1.7); // ~24px
@font-size-h4: ceil(@font-size-base * 1.25); // ~18px
@font-size-h5: @font-size-base;
@font-size-h6: ceil(@font-size-base * 0.85); // ~12px
@@ -247,7 +247,7 @@
// Padding, to be divided by two and applied to the left and right of all columns
@grid-gutter-width: 30px;
// Point at which the navbar stops collapsing
-@grid-float-breakpoint: @screen-sm;
+@grid-float-breakpoint: @screen-sm-min;
// Navbar
@@ -256,13 +256,14 @@
// Basics of a navbar
@navbar-height: 50px;
@navbar-margin-bottom: @line-height-computed;
-@navbar-default-color: #777;
-@navbar-default-bg: #f8f8f8;
-@navbar-default-border: darken(@navbar-default-bg, 6.5%);
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
+@navbar-default-color: #777;
+@navbar-default-bg: #f8f8f8;
+@navbar-default-border: darken(@navbar-default-bg, 6.5%);
+
// Navbar links
@navbar-default-link-color: #777;
@navbar-default-link-hover-color: #333;
@@ -335,6 +336,7 @@
@nav-tabs-justified-active-link-border-color: @body-bg;
// Pills
+@nav-pills-border-radius: @border-radius-base;
@nav-pills-active-link-hover-bg: @component-active-bg;
@nav-pills-active-link-hover-color: @component-active-color;
@@ -366,21 +368,13 @@
@jumbotron-padding: 30px;
@jumbotron-color: inherit;
@jumbotron-bg: @gray-lighter;
-
@jumbotron-heading-color: inherit;
+@jumbotron-font-size: ceil(@font-size-base * 1.5);
// Form states and alerts
// -------------------------
-@state-warning-text: #c09853;
-@state-warning-bg: #fcf8e3;
-@state-warning-border: darken(spin(@state-warning-bg, -10), 3%);
-
-@state-danger-text: #b94a48;
-@state-danger-bg: #f2dede;
-@state-danger-border: darken(spin(@state-danger-bg, -10), 3%);
-
@state-success-text: #468847;
@state-success-bg: #dff0d8;
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
@@ -389,6 +383,14 @@
@state-info-bg: #d9edf7;
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
+@state-warning-text: #c09853;
+@state-warning-bg: #fcf8e3;
+@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
+
+@state-danger-text: #b94a48;
+@state-danger-bg: #f2dede;
+@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
+
// Tooltips
// -------------------------
@@ -585,8 +587,8 @@
// Close
// ------------------------
-@close-color: #000;
@close-font-weight: bold;
+@close-color: #000;
@close-text-shadow: 0 1px 0 #fff;