diff options
| author | Mark Otto <[email protected]> | 2013-11-30 23:35:56 -0800 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2013-11-30 23:35:56 -0800 |
| commit | 53047fa587fc8ca5cc0cad751f71fca5470d453a (patch) | |
| tree | a013806bef23a01e7ff0615f82b629703c553d6a /less | |
| parent | ba4c5dae9b8e34e90e86ba28aa6bd5acf3351f0d (diff) | |
| parent | 57070dcf4525fe82cab6a93300861867aa7f2d1e (diff) | |
| download | bootstrap-53047fa587fc8ca5cc0cad751f71fca5470d453a.tar.xz bootstrap-53047fa587fc8ca5cc0cad751f71fca5470d453a.zip | |
Merge branch 'master' into pr/11536
Conflicts:
dist/css/bootstrap.min.css
Diffstat (limited to 'less')
| -rw-r--r-- | less/badges.less | 12 | ||||
| -rw-r--r-- | less/button-groups.less | 34 | ||||
| -rw-r--r-- | less/carousel.less | 1 | ||||
| -rw-r--r-- | less/dropdowns.less | 4 | ||||
| -rw-r--r-- | less/forms.less | 11 | ||||
| -rw-r--r-- | less/grid.less | 38 | ||||
| -rw-r--r-- | less/input-groups.less | 2 | ||||
| -rw-r--r-- | less/jumbotron.less | 10 | ||||
| -rw-r--r-- | less/labels.less | 6 | ||||
| -rw-r--r-- | less/mixins.less | 50 | ||||
| -rw-r--r-- | less/modals.less | 7 | ||||
| -rw-r--r-- | less/navbar.less | 44 | ||||
| -rw-r--r-- | less/navs.less | 20 | ||||
| -rw-r--r-- | less/panels.less | 8 | ||||
| -rw-r--r-- | less/tables.less | 23 | ||||
| -rw-r--r-- | less/thumbnails.less | 9 | ||||
| -rw-r--r-- | less/type.less | 106 | ||||
| -rw-r--r-- | less/variables.less | 13 |
18 files changed, 162 insertions, 236 deletions
diff --git a/less/badges.less b/less/badges.less index 0b69753ef..166b2be5e 100644 --- a/less/badges.less +++ b/less/badges.less @@ -22,6 +22,12 @@ &:empty { display: none; } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } } // Hover state, but only for links @@ -34,12 +40,6 @@ a.badge { } } -// Quick fix for labels/badges in buttons -.btn .badge { - position: relative; - top: -1px; -} - // Account for counters in navs a.list-group-item.active > .badge, .nav-pills > .active > a > .badge { diff --git a/less/button-groups.less b/less/button-groups.less index bba9d0295..05fda149a 100644 --- a/less/button-groups.less +++ b/less/button-groups.less @@ -2,37 +2,6 @@ // Button groups // -------------------------------------------------- -// Button carets -// -// Match the button text color to the arrow/caret for indicating dropdown-ness. - -.caret { - .btn-default & { - border-top-color: @btn-default-color; - } - .btn-primary &, - .btn-success &, - .btn-warning &, - .btn-danger &, - .btn-info & { - border-top-color: #fff; - } -} -.dropup { - .btn-default .caret { - border-bottom-color: @btn-default-color; - } - .btn-primary, - .btn-success, - .btn-warning, - .btn-danger, - .btn-info { - .caret { - border-bottom-color: #fff; - } - } -} - // Make the div behave like a button .btn-group, .btn-group-vertical { @@ -178,7 +147,8 @@ .btn-group-vertical { > .btn, - > .btn-group { + > .btn-group, + > .btn-group > .btn { display: block; float: none; width: 100%; diff --git a/less/carousel.less b/less/carousel.less index 317963b7f..e53365df4 100644 --- a/less/carousel.less +++ b/less/carousel.less @@ -91,6 +91,7 @@ // Hover/focus state &:hover, &:focus { + outline: none; color: @carousel-control-color; text-decoration: none; .opacity(.9); diff --git a/less/dropdowns.less b/less/dropdowns.less index dbaf31fe0..1a8f1973f 100644 --- a/less/dropdowns.less +++ b/less/dropdowns.less @@ -10,7 +10,7 @@ height: 0; margin-left: 2px; vertical-align: middle; - border-top: @caret-width-base solid @dropdown-caret-color; + border-top: @caret-width-base solid; border-right: @caret-width-base solid transparent; border-left: @caret-width-base solid transparent; } @@ -161,7 +161,7 @@ // Reverse the caret .caret { border-top: 0; - border-bottom: @caret-width-base solid @dropdown-caret-color; + border-bottom: @caret-width-base solid; content: ""; } // Different positioning for bottom up menu diff --git a/less/forms.less b/less/forms.less index a74babdb3..dc425ecc1 100644 --- a/less/forms.less +++ b/less/forms.less @@ -309,6 +309,11 @@ input[type="checkbox"], display: inline-block; } + // Override `width: 100%;` when not within a `.form-group` + select.form-control { + width: auto; + } + // Remove default margin on radios/checkboxes that were used for stacking, and // then undo the floating of radios and checkboxes to match (which also avoids // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969). @@ -345,6 +350,12 @@ input[type="checkbox"], margin-bottom: 0; padding-top: (@padding-base-vertical + 1); // Default padding plus a border } + // Account for padding we're adding to ensure the alignment and of help text + // and other content below items + .radio, + .checkbox { + min-height: @line-height-computed + (@padding-base-vertical + 1); + } // Make form groups behave like rows .form-group { diff --git a/less/grid.less b/less/grid.less index 67e78f760..279d80368 100644 --- a/less/grid.less +++ b/less/grid.less @@ -5,6 +5,16 @@ // Set the container width, and override it for fixed navbars in media queries .container { .container-fixed(); + + @media (min-width: @screen-sm) { + width: @container-sm; + } + @media (min-width: @screen-md) { + width: @container-md; + } + @media (min-width: @screen-lg-min) { + width: @container-lg; + } } // mobile first defaults @@ -18,11 +28,8 @@ // Extra small grid // -// Grid classes for extra small devices like smartphones. No offset, push, or -// pull classes are present here due to the size of the target. -// -// Note that `.col-xs-12` doesn't get floated on purpose--there's no need since -// it's full-width. +// Columns, offsets, pushes, and pulls for extra small devices like +// smartphones. .make-grid-columns-float(xs); .make-grid(@grid-columns, xs, width); @@ -35,15 +42,8 @@ // // Columns, offsets, pushes, and pulls for the small device range, from phones // to tablets. -// -// 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-min) { - .container { - width: @container-sm; - } - .make-grid-columns-float(sm); .make-grid(@grid-columns, sm, width); .make-grid(@grid-columns, sm, pull); @@ -55,15 +55,8 @@ // Medium grid // // Columns, offsets, pushes, and pulls for the desktop device range. -// -// 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-min) { - .container { - width: @container-md; - } - .make-grid-columns-float(md); .make-grid(@grid-columns, md, width); .make-grid(@grid-columns, md, pull); @@ -75,15 +68,8 @@ // Large grid // // Columns, offsets, pushes, and pulls for the large desktop device range. -// -// Note that `.col-lg-12` doesn't get floated on purpose--there's no need since -// it's full-width. @media (min-width: @screen-lg-min) { - .container { - width: @container-lg; - } - .make-grid-columns-float(lg); .make-grid(@grid-columns, lg, width); .make-grid(@grid-columns, lg, pull); diff --git a/less/input-groups.less b/less/input-groups.less index 8516a79e9..d19c4c64a 100644 --- a/less/input-groups.less +++ b/less/input-groups.less @@ -10,7 +10,7 @@ border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table // Undo padding and float of grid classes - &.col { + &[class*="col-"] { float: none; padding-left: 0; padding-right: 0; diff --git a/less/jumbotron.less b/less/jumbotron.less index 22c29780a..0460b69d4 100644 --- a/less/jumbotron.less +++ b/less/jumbotron.less @@ -12,7 +12,8 @@ color: @jumbotron-color; background-color: @jumbotron-bg; - h1 { + h1, + .h1 { line-height: 1; color: @jumbotron-heading-color; } @@ -24,6 +25,10 @@ border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container } + .container { + max-width: 100%; + } + @media screen and (min-width: @screen-sm-min) { padding-top: (@jumbotron-padding * 1.6); padding-bottom: (@jumbotron-padding * 1.6); @@ -33,7 +38,8 @@ padding-right: (@jumbotron-padding * 2); } - h1 { + h1, + .h1 { font-size: (@font-size-base * 4.5); } } diff --git a/less/labels.less b/less/labels.less index cad5ce516..5db1ed12c 100644 --- a/less/labels.less +++ b/less/labels.less @@ -28,6 +28,12 @@ &:empty { display: none; } + + // Quick fix for labels in buttons + .btn & { + position: relative; + top: -1px; + } } // Colors diff --git a/less/mixins.less b/less/mixins.less index e76d8d697..b587a69e5 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -19,8 +19,8 @@ .clearfix() { &:before, &:after { - content: " "; /* 1 */ - display: table; /* 2 */ + content: " "; // 1 + display: table; // 2 } &:after { clear: both; @@ -30,8 +30,8 @@ // WebKit-style focus .tab-focus() { // Default - outline: thin dotted #333; - // WebKit + outline: thin dotted; + //Webkit outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -392,7 +392,7 @@ // Panels // ------------------------- -.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border;) { +.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { border-color: @border; & > .panel-heading { @@ -403,9 +403,6 @@ + .panel-collapse .panel-body { border-top-color: @border; } - & > .dropdown .caret { - border-color: @heading-text-color transparent; - } } & > .panel-footer { + .panel-collapse .panel-body { @@ -431,27 +428,27 @@ // Tables // ------------------------- -.table-row-variant(@state; @background; @border) { +.table-row-variant(@state; @background) { // Exact selectors below required to override `.table-striped` and prevent // inheritance to nested tables. - .table > thead > tr, - .table > tbody > tr, - .table > tfoot > tr { - > td.@{state}, - > th.@{state}, - &.@{state} > td, - &.@{state} > th { - background-color: @background; + .table { + > thead, + > tbody, + > tfoot { + > tr > .@{state}, + > .@{state} > td, + > .@{state} > th { + background-color: @background; + } } } // Hover states for `.table-hover` // Note: this is not available for cells or rows within `thead` or `tfoot`. - .table-hover > tbody > tr { - > td.@{state}:hover, - > th.@{state}:hover, - &.@{state}:hover > td, - &.@{state}:hover > th { + .table-hover > tbody { + > tr > .@{state}:hover, + > .@{state}:hover > td, + > .@{state}:hover > th { background-color: darken(@background, 5%); } } @@ -492,6 +489,11 @@ border-color: @border; } } + + .badge { + color: @background; + background-color: #fff; + } } // Button sizes @@ -739,11 +741,11 @@ @item: ~".col-@{class}-@{index}"; .col(@index + 1, @item); } - .col(@index, @list) when (@index < @grid-columns) { // general + .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 + .col(@index, @list) when (@index > @grid-columns) { // terminal @{list} { float: left; } diff --git a/less/modals.less b/less/modals.less index 99cf76469..e65dbf7f1 100644 --- a/less/modals.less +++ b/less/modals.less @@ -35,10 +35,8 @@ // Shell div to position the modal with bottom padding .modal-dialog { position: relative; - margin-left: auto; - margin-right: auto; width: auto; - padding: 10px; + margin: 10px; z-index: (@zindex-modal-background + 10); } @@ -122,8 +120,7 @@ .modal-dialog { width: 600px; - padding-top: 30px; - padding-bottom: 30px; + margin: 30px auto; } .modal-content { .box-shadow(0 5px 15px rgba(0,0,0,.5)); diff --git a/less/navbar.less b/less/navbar.less index 21cffc250..202edb57c 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -180,6 +180,7 @@ padding: 9px 10px; .navbar-vertical-align(34px); background-color: transparent; + background-image: none; // Fix for at least Firefox on Android, per #11468 border: 1px solid transparent; border-radius: @border-radius-base; @@ -246,8 +247,8 @@ > li { float: left; > a { - padding-top: ((@navbar-height - @line-height-computed) / 2); - padding-bottom: ((@navbar-height - @line-height-computed) / 2); + padding-top: @navbar-padding-vertical; + padding-bottom: @navbar-padding-vertical; } } } @@ -414,15 +415,8 @@ border-color: @navbar-default-border; } - // Dropdown menu items and carets + // Dropdown menu items .navbar-nav { - // Caret should match text color on hover - > .dropdown > a:hover .caret, - > .dropdown > a:focus .caret { - border-top-color: @navbar-default-link-hover-color; - border-bottom-color: @navbar-default-link-hover-color; - } - // Remove background color from open dropdown > .open > a { &, @@ -430,17 +424,8 @@ &:focus { background-color: @navbar-default-link-active-bg; color: @navbar-default-link-active-color; - .caret { - border-top-color: @navbar-default-link-active-color; - border-bottom-color: @navbar-default-link-active-color; - } } } - > .dropdown > a .caret { - border-top-color: @navbar-default-link-color; - border-bottom-color: @navbar-default-link-color; - } - @media (max-width: @screen-xs-max) { // Dropdowns get custom display when collapsed @@ -561,24 +546,6 @@ color: @navbar-inverse-link-active-color; } } - > .dropdown > a:hover .caret { - border-top-color: @navbar-inverse-link-hover-color; - border-bottom-color: @navbar-inverse-link-hover-color; - } - > .dropdown > a .caret { - border-top-color: @navbar-inverse-link-color; - border-bottom-color: @navbar-inverse-link-color; - } - > .open > a { - &, - &:hover, - &:focus { - .caret { - border-top-color: @navbar-inverse-link-active-color; - border-bottom-color: @navbar-inverse-link-active-color; - } - } - } @media (max-width: @screen-xs-max) { // Dropdowns get custom display @@ -586,6 +553,9 @@ > .dropdown-header { border-color: @navbar-inverse-border; } + .divider { + background-color: @navbar-inverse-border; + } > li > a { color: @navbar-inverse-link-color; &:hover, diff --git a/less/navs.less b/less/navs.less index 6cddcd494..859d5d866 100644 --- a/less/navs.less +++ b/less/navs.less @@ -48,11 +48,6 @@ &:focus { background-color: @nav-link-hover-bg; border-color: @link-color; - - .caret { - border-top-color: @link-hover-color; - border-bottom-color: @link-hover-color; - } } } @@ -138,11 +133,6 @@ &: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; - } } } } @@ -243,16 +233,6 @@ // Dropdowns // ------------------------- -// Make dropdown carets use link color in navs -.nav .caret { - border-top-color: @link-color; - border-bottom-color: @link-color; -} -.nav a:hover .caret { - border-top-color: @link-hover-color; - border-bottom-color: @link-hover-color; -} - // Specific dropdowns .nav-tabs .dropdown-menu { // make dropdown border overlap tab border diff --git a/less/panels.less b/less/panels.less index a107ff1d4..d782ffcde 100644 --- a/less/panels.less +++ b/less/panels.less @@ -57,13 +57,17 @@ .panel { > .table, - > .table-responsive { + > .table-responsive > .table { margin-bottom: 0; } > .panel-body + .table, > .panel-body + .table-responsive { border-top: 1px solid @table-border-color; } + > .table > tbody:first-child th, + > .table > tbody:first-child td { + border-top: 0; + } > .table-bordered, > .table-responsive > .table-bordered { border: 0; @@ -106,6 +110,8 @@ margin-top: 0; margin-bottom: 0; font-size: ceil((@font-size-base * 1.125)); + color: inherit; + > a { color: inherit; } diff --git a/less/tables.less b/less/tables.less index 4c4284cb1..ca565f4b7 100644 --- a/less/tables.less +++ b/less/tables.less @@ -133,6 +133,7 @@ th { // Reset default table behavior table col[class*="col-"] { + position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) float: none; display: table-column; } @@ -152,25 +153,11 @@ table { // Exact selectors below required to override `.table-striped` and prevent // inheritance to nested tables. -.table { - > thead, - > tbody, - > tfoot { - > tr { - > td.active, - > th.active, - &.active > td, - &.active > th { - background-color: @table-bg-active; - } - } - } -} - // Generate the contextual variants -.table-row-variant(success; @state-success-bg; @state-success-border); -.table-row-variant(danger; @state-danger-bg; @state-danger-border); -.table-row-variant(warning; @state-warning-bg; @state-warning-border); +.table-row-variant(active; @table-bg-active); +.table-row-variant(success; @state-success-bg); +.table-row-variant(danger; @state-danger-bg); +.table-row-variant(warning; @state-warning-bg); // Responsive tables diff --git a/less/thumbnails.less b/less/thumbnails.less index bc4178bbf..43e7d1d26 100644 --- a/less/thumbnails.less +++ b/less/thumbnails.less @@ -5,9 +5,14 @@ // Mixin and adjust the regular image class .thumbnail { - .img-thumbnail(); - display: block; // Override the inline-block from `.img-thumbnail` + display: block; + padding: @thumbnail-padding; margin-bottom: @line-height-computed; + line-height: @line-height-base; + background-color: @thumbnail-bg; + border: 1px solid @thumbnail-border; + border-radius: @thumbnail-border-radius; + .transition(all .2s ease-in-out); > img { .img-responsive(); diff --git a/less/type.less b/less/type.less index 437c70b76..ac07ac7ce 100644 --- a/less/type.less +++ b/less/type.less @@ -3,12 +3,62 @@ // -------------------------------------------------- +// Headings +// ------------------------- + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + font-family: @headings-font-family; + font-weight: @headings-font-weight; + line-height: @headings-line-height; + color: @headings-color; + + small, + .small { + font-weight: normal; + line-height: 1; + color: @headings-small-color; + } +} + +h1, +h2, +h3 { + margin-top: @line-height-computed; + margin-bottom: (@line-height-computed / 2); + + small, + .small { + font-size: 65%; + } +} +h4, +h5, +h6 { + margin-top: (@line-height-computed / 2); + margin-bottom: (@line-height-computed / 2); + + small, + .small { + font-size: 75%; + } +} + +h1, .h1 { font-size: @font-size-h1; } +h2, .h2 { font-size: @font-size-h2; } +h3, .h3 { font-size: @font-size-h3; } +h4, .h4 { font-size: @font-size-h4; } +h5, .h5 { font-size: @font-size-h5; } +h6, .h6 { font-size: @font-size-h6; } + + // Body text // ------------------------- p { margin: 0 0 (@line-height-computed / 2); } + .lead { margin-bottom: @line-height-computed; font-size: floor(@font-size-base * 1.15); @@ -72,55 +122,6 @@ cite { font-style: normal; } .text-center { text-align: center; } -// Headings -// ------------------------- - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - font-family: @headings-font-family; - font-weight: @headings-font-weight; - line-height: @headings-line-height; - color: @headings-color; - - small, - .small { - font-weight: normal; - line-height: 1; - color: @headings-small-color; - } -} - -h1, -h2, -h3 { - margin-top: @line-height-computed; - margin-bottom: (@line-height-computed / 2); - - small, - .small { - font-size: 65%; - } -} -h4, -h5, -h6 { - margin-top: (@line-height-computed / 2); - margin-bottom: (@line-height-computed / 2); - - small, - .small { - font-size: 75%; - } -} - -h1, .h1 { font-size: @font-size-h1; } -h2, .h2 { font-size: @font-size-h2; } -h3, .h3 { font-size: @font-size-h3; } -h4, .h4 { font-size: @font-size-h4; } -h5, .h5 { font-size: @font-size-h5; } -h6, .h6 { font-size: @font-size-h6; } - - // Page header // ------------------------- @@ -131,7 +132,6 @@ h6, .h6 { font-size: @font-size-h6; } } - // Lists // -------------------------------------------------- @@ -171,6 +171,7 @@ ol { // Description Lists dl { + margin-top: 0; // Remove browser default margin-bottom: @line-height-computed; } dt, @@ -215,7 +216,7 @@ abbr[data-original-title] { cursor: help; border-bottom: 1px dotted @abbr-border-color; } -abbr.initialism { +.initialism { font-size: 90%; text-transform: uppercase; } @@ -233,7 +234,8 @@ blockquote { p:last-child { margin-bottom: 0; } - small { + small, + .small { display: block; line-height: @line-height-base; color: @blockquote-small-color; diff --git a/less/variables.less b/less/variables.less index 08bb701db..120a65e06 100644 --- a/less/variables.less +++ b/less/variables.less @@ -157,7 +157,7 @@ @input-color-placeholder: @gray-light; @input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); -@input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); +@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); @input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); @legend-color: @gray-dark; @@ -186,8 +186,6 @@ @dropdown-header-color: @gray-light; -@dropdown-caret-color: #000; - // COMPONENT VARIABLES // -------------------------------------------------- @@ -321,7 +319,6 @@ @nav-disabled-link-hover-color: @gray-light; @nav-open-link-hover-color: #fff; -@nav-open-caret-border-color: #fff; // Tabs @nav-tabs-border-color: #ddd; @@ -375,19 +372,19 @@ // Form states and alerts // ------------------------- -@state-success-text: #468847; +@state-success-text: #3c763d; @state-success-bg: #dff0d8; @state-success-border: darken(spin(@state-success-bg, -10), 5%); -@state-info-text: #3a87ad; +@state-info-text: #31708f; @state-info-bg: #d9edf7; @state-info-border: darken(spin(@state-info-bg, -10), 7%); -@state-warning-text: #c09853; +@state-warning-text: #8a6d3b; @state-warning-bg: #fcf8e3; @state-warning-border: darken(spin(@state-warning-bg, -10), 5%); -@state-danger-text: #b94a48; +@state-danger-text: #a94442; @state-danger-bg: #f2dede; @state-danger-border: darken(spin(@state-danger-bg, -10), 5%); |
