diff options
| author | Mark Otto <[email protected]> | 2016-05-08 15:25:26 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2016-05-08 15:25:26 -0700 |
| commit | 4a064209ba26f53ed0758f232d0331beca7dfcd3 (patch) | |
| tree | 8b2d84d7518c4a6d39139ce0f81726133908847a /scss | |
| parent | b2dd8e16946c839b24ea1327c65732222e03c2d2 (diff) | |
| parent | b479efb9d639de1955d5aa4cfc4acd810352a6b2 (diff) | |
| download | bootstrap-4a064209ba26f53ed0758f232d0331beca7dfcd3.tar.xz bootstrap-4a064209ba26f53ed0758f232d0331beca7dfcd3.zip | |
Merge branch 'v4-dev' into v4-forms-cleanup
Diffstat (limited to 'scss')
| -rw-r--r-- | scss/.scss-lint.yml | 6 | ||||
| -rw-r--r-- | scss/_card.scss | 5 | ||||
| -rw-r--r-- | scss/_carousel.scss | 10 | ||||
| -rw-r--r-- | scss/_custom-forms.scss | 6 | ||||
| -rw-r--r-- | scss/_normalize.scss | 329 | ||||
| -rw-r--r-- | scss/_reboot.scss | 5 | ||||
| -rw-r--r-- | scss/_variables.scss | 8 |
7 files changed, 194 insertions, 175 deletions
diff --git a/scss/.scss-lint.yml b/scss/.scss-lint.yml index f739a971a..af837e4d0 100644 --- a/scss/.scss-lint.yml +++ b/scss/.scss-lint.yml @@ -25,6 +25,8 @@ linters: BorderZero: enabled: true convention: zero # or `none` + exclude: + - _normalize.scss ChainedClasses: enabled: false @@ -103,6 +105,8 @@ linters: LeadingZero: enabled: true style: exclude_zero # or 'include_zero' + exclude: + - _normalize.scss MergeableSelector: enabled: false @@ -131,6 +135,8 @@ linters: ignore_unspecified: false min_properties: 2 separate_groups: false + exclude: + - _normalize.scss order: - position - top diff --git a/scss/_card.scss b/scss/_card.scss index 856d6c634..f61da6dd9 100644 --- a/scss/_card.scss +++ b/scss/_card.scss @@ -9,8 +9,7 @@ background-color: $card-bg; // border: $card-border-width solid $card-border-color; @include border-radius($card-border-radius); - // Doesn't use mixin so that cards always have a "border" - box-shadow: inset 0 0 0 $card-border-width $card-border-color; + border: $card-border-width solid $card-border-color; } .card-block { @@ -189,7 +188,7 @@ right: 0; bottom: 0; left: 0; - padding: 1.25rem; + padding: $card-img-overlay-padding; } diff --git a/scss/_carousel.scss b/scss/_carousel.scss index 2ff886a39..9386983d1 100644 --- a/scss/_carousel.scss +++ b/scss/_carousel.scss @@ -125,19 +125,19 @@ top: 50%; z-index: 5; display: inline-block; - width: 20px; - height: 20px; - margin-top: -10px; + width: $carousel-icon-width; + height: $carousel-icon-width; + margin-top: -($carousel-icon-width / 2); font-family: serif; line-height: 1; } .icon-prev { left: 50%; - margin-left: -10px; + margin-left: -($carousel-icon-width / 2); } .icon-next { right: 50%; - margin-right: -10px; + margin-right: -($carousel-icon-width / 2); } .icon-prev { diff --git a/scss/_custom-forms.scss b/scss/_custom-forms.scss index 8222a65b0..a5f0bdfc4 100644 --- a/scss/_custom-forms.scss +++ b/scss/_custom-forms.scss @@ -171,6 +171,12 @@ } } + &:disabled { + color: $custom-select-disabled-color; + cursor: $cursor-disabled; + background-color: $custom-select-disabled-bg; + } + // Hides the default caret in IE11 &::-ms-expand { opacity: 0; diff --git a/scss/_normalize.scss b/scss/_normalize.scss index 93dd45217..8a74836b0 100644 --- a/scss/_normalize.scss +++ b/scss/_normalize.scss @@ -1,9 +1,8 @@ -/*! normalize.css commit fe56763 | MIT License | github.com/necolas/normalize.css */ +/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ // -// 1. Set default font family to sans-serif. -// 2. Prevent iOS and IE text size adjust after device orientation change, -// without disabling user zoom. +// 1. Change the default font family in all browsers (opinionated). +// 2. Prevent adjustments of font size after orientation changes in IE and iOS. // html { @@ -13,7 +12,7 @@ html { } // -// Remove default margin. +// Remove the margin in all browsers (opinionated). // body { @@ -24,43 +23,39 @@ body { // ========================================================================== // -// Correct `block` display not defined for any HTML5 element in IE 8/9. -// Correct `block` display not defined for `details` or `summary` in IE 10/11 -// and Firefox. -// Correct `block` display not defined for `main` in IE 11. +// Add the correct display in IE 9-. +// 1. Add the correct display in Edge, IE, and Firefox. +// 2. Add the correct display in IE. // article, aside, -details, +details, // 1 figcaption, figure, footer, header, -main, +main, // 2 menu, nav, section, -summary { +summary { // 1 display: block; } // -// 1. Correct `inline-block` display not defined in IE 8/9. -// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. +// Add the correct display in IE 9-. // audio, canvas, progress, video { - display: inline-block; // 1 - vertical-align: baseline; // 2 + display: inline-block; } // -// Prevent modern browsers from displaying `audio` without controls. -// Remove excess height in iOS 5 devices. +// Add the correct display in iOS 4-7. // audio:not([controls]) { @@ -69,12 +64,20 @@ audio:not([controls]) { } // -// Address `[hidden]` styling not present in IE 8/9/10. -// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. +// Add the correct vertical alignment in Chrome, Firefox, and Opera. // -[hidden], -template { +progress { + vertical-align: baseline; +} + +// +// Add the correct display in IE 10-. +// 1. Add the correct display in IE. +// + +template, // 2 +[hidden] { display: none; } @@ -82,7 +85,7 @@ template { // ========================================================================== // -// Remove the gray background color from active links in IE 10. +// Remove the gray background on active links in IE 10. // a { @@ -90,41 +93,49 @@ a { } // -// Improve readability of focused elements when they are also in an -// active/hover state. +// Remove the outline on focused links when they are also active or hovered +// in all browsers (opinionated). // -a { - &:active { - outline: 0; - } - &:hover { - outline: 0; - } +a:active, +a:hover { + outline-width: 0; } // Text-level semantics // ========================================================================== // -// Address styling not present in IE 8/9/10/11, Safari, and Chrome. +// 1. Remove the bottom border in Firefox 39-. +// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. // abbr[title] { - border-bottom: 1px dotted; + border-bottom: none; // 1 + text-decoration: underline; // 2 + text-decoration: underline dotted; // 2 } // -// Address style set to `bolder` in Firefox 4+, Safari, and Chrome. +// Prevent the duplicate application of `bolder` by the next rule in Safari 6. // b, strong { - font-weight: bold; + font-weight: inherit; +} + +// +// Add the correct font weight in Chrome, Edge, and Safari. +// + +b, +strong { + font-weight: bolder; } // -// Address styling not present in Safari and Chrome. +// Add the correct font style in Android 4.3-. // dfn { @@ -132,8 +143,8 @@ dfn { } // -// Address variable `h1` font-size and margin within `section` and `article` -// contexts in Firefox 4+, Safari, and Chrome. +// Correct the font size and margin on `h1` elements within `section` and +// `article` contexts in Chrome, Firefox, and Safari. // h1 { @@ -142,16 +153,16 @@ h1 { } // -// Address styling not present in IE 8/9. +// Add the correct background and color in IE 9-. // mark { - background: #ff0; + background-color: #ff0; color: #000; } // -// Address inconsistent and variable font size in all browsers. +// Add the correct font size in all browsers. // small { @@ -159,7 +170,8 @@ small { } // -// Prevent `sub` and `sup` affecting `line-height` in all browsers. +// Prevent `sub` and `sup` elements from affecting the line height in +// all browsers. // sub, @@ -170,27 +182,27 @@ sup { vertical-align: baseline; } -sup { - top: -0.5em; -} - sub { bottom: -0.25em; } +sup { + top: -0.5em; +} + // Embedded content // ========================================================================== // -// Remove border when inside `a` element in IE 8/9/10. +// Remove the border on images inside links in IE 10-. // img { - border: 0; + border-style: none; } // -// Correct overflow not hidden in IE 9/10/11. +// Hide the overflow in IE. // svg:not(:root) { @@ -201,177 +213,146 @@ svg:not(:root) { // ========================================================================== // -// Address margin not present in IE 8/9 and Safari. +// 1. Correct the inheritance and scaling of font size in all browsers. +// 2. Correct the odd `em` font sizing in all browsers. // -figure { - margin: 1em 40px; -} - -// -// Address differences between Firefox and other browsers. -// - -hr { - box-sizing: content-box; - height: 0; +code, +kbd, +pre, +samp { + font-family: monospace, monospace; // 1 + font-size: 1em; // 2 } // -// Contain overflow in all browsers. +// Add the correct margin in IE 8. // -pre { - overflow: auto; +figure { + margin: 1em 40px; } // -// Address odd `em`-unit font size rendering in all browsers. +// 1. Add the correct box sizing in Firefox. +// 2. Show the overflow in Edge and IE. // -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; +hr { + box-sizing: content-box; // 1 + height: 0; // 1 + overflow: visible; // 2 } // Forms // ========================================================================== // -// Known limitation: by default, Chrome and Safari on OS X allow very limited -// styling of `select`, unless a `border` property is set. -// - -// -// 1. Correct color not being inherited. -// Known issue: affects color of disabled elements. -// 2. Correct font properties not being inherited. -// 3. Address margins set differently in Firefox 4+, Safari, and Chrome. +// Change font properties to `inherit` in all browsers (opinionated). // button, input, -optgroup, select, textarea { - color: inherit; // 1 - font: inherit; // 2 - margin: 0; // 3 + font: inherit; } // -// Address `overflow` set to `hidden` in IE 8/9/10/11. +// Restore the font weight unset by the previous rule. // -button { - overflow: visible; +optgroup { + font-weight: bold; } // -// Address inconsistent `text-transform` inheritance for `button` and `select`. -// All other form control elements do not inherit `text-transform` values. -// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. -// Correct `select` style inheritance in Firefox. +// Show the overflow in IE. +// 1. Show the overflow in Edge. +// 2. Show the overflow in Edge, Firefox, and IE. // button, -select { - text-transform: none; +input, // 1 +select { // 2 + overflow: visible; } // -// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` -// and `video` controls. -// 2. Correct inability to style clickable `input` types in iOS. -// 3. Improve usability and consistency of cursor style between image-type -// `input` and others. +// Remove the margin in Safari. +// 1. Remove the margin in Firefox and Safari. // button, -html input[type="button"], // 1 -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; // 2 - cursor: pointer; // 3 -} - -// -// Re-set default cursor for disabled elements. -// - -button[disabled], -html input[disabled] { - cursor: default; +input, +select, +textarea { // 1 + margin: 0; } // -// Remove inner padding and border in Firefox 4+. +// Remove the inheritence of text transform in Edge, Firefox, and IE. +// 1. Remove the inheritence of text transform in Firefox. // -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; +button, +select { // 1 + text-transform: none; } // -// Address Firefox 4+ setting `line-height` on `input` using `!important` in -// the UA stylesheet. +// Change the cursor in all browsers (opinionated). // -input { - line-height: normal; +button, +[type="button"], +[type="reset"], +[type="submit"] { + cursor: pointer; } // -// It's recommended that you don't attempt to style these elements. -// Firefox's implementation doesn't respect box-sizing, padding, or width. -// -// 1. Address box sizing set to `content-box` in IE 8/9/10. -// 2. Remove excess padding in IE 8/9/10. +// Restore the default cursor to disabled elements unset by the previous rule. // -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; // 1 - padding: 0; // 2 +[disabled] { + cursor: default; } // -// Fix the cursor style for Chrome's increment/decrement buttons. For certain -// `font-size` values of the `input`, it causes the cursor style of the -// decrement button to change from `default` to `text`. +// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` +// controls in Android 4. +// 2. Correct the inability to style clickable types in iOS. // -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; +button, +html [type="button"], // 1 +[type="reset"], +[type="submit"] { + -webkit-appearance: button; // 2 } // -// Address `appearance` set to `searchfield` in Safari and Chrome. +// Remove the inner border and padding in Firefox. // -input[type="search"] { - -webkit-appearance: textfield; +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } // -// Remove inner padding and search cancel button in Safari and Chrome on OS X. -// Safari (but not Chrome) clips the cancel button when the search input has -// padding (and `textfield` appearance). +// Restore the focus styles unset by the previous rule. // -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; } // -// Define consistent border, margin, and padding. +// Change the border, margin, and padding in all browsers (opinionated). // fieldset { @@ -381,17 +362,23 @@ fieldset { } // -// 1. Correct `color` not being inherited in IE 8/9/10/11. -// 2. Remove padding so people aren't caught out if they zero out fieldsets. +// 1. Correct the text wrapping in Edge and IE. +// 2. Correct the color inheritance from `fieldset` elements in IE. +// 3. Remove the padding so developers are not caught out when they zero out +// `fieldset` elements in all browsers. // legend { - border: 0; // 1 - padding: 0; // 2 + box-sizing: border-box; // 1 + color: inherit; // 2 + display: table; // 1 + max-width: 100%; // 1 + padding: 0; // 3 + white-space: normal; // 1 } // -// Remove default vertical scrollbar in IE 8/9/10/11. +// Remove the default vertical scrollbar in IE. // textarea { @@ -399,27 +386,39 @@ textarea { } // -// Don't inherit the `font-weight` (applied by a rule above). -// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. +// 1. Add the correct box sizing in IE 10-. +// 2. Remove the padding in IE 10-. // -optgroup { - font-weight: bold; +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 } -// Tables -// ========================================================================== +// +// Correct the cursor style of increment and decrement buttons in Chrome. +// + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} // -// Remove most spacing between table cells. +// Correct the odd appearance of search inputs in Chrome and Safari. // -table { - border-collapse: collapse; - border-spacing: 0; +[type="search"] { + -webkit-appearance: textfield; } -td, -th { - padding: 0; +// +// Remove the inner padding and cancel buttons in Chrome on OS X and +// Safari on OS X. +// + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } diff --git a/scss/_reboot.scss b/scss/_reboot.scss index 1eade0272..8de53cf73 100644 --- a/scss/_reboot.scss +++ b/scss/_reboot.scss @@ -200,6 +200,8 @@ pre { margin-top: 0; // Reset browser default of `1em` to use `rem`s margin-bottom: 1rem; + // Normalize v4 removed this property, causing `<pre>` content to break out of wrapping code snippets + overflow: auto; } @@ -266,6 +268,8 @@ textarea { // table { + // No longer part of Normalize since v4 + border-collapse: collapse; // Reset for nesting within parents with `background-color`. background-color: $table-bg; } @@ -353,7 +357,6 @@ legend { margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; -// border: 0; } input[type="search"] { diff --git a/scss/_variables.scss b/scss/_variables.scss index 82ef6f963..a1e8e5bea 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -382,8 +382,10 @@ $custom-radio-checked-icon: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='h $custom-select-padding-x: .75rem !default; $custom-select-padding-y: .375rem !default; $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator -$custom-select-color: $input-color !default; +$custom-select-color: $input-color !default; +$custom-select-disabled-color: $gray-light !default; $custom-select-bg: #fff !default; +$custom-select-disabled-bg: $gray-lighter !default; $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions $custom-select-indicator: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") !default; $custom-select-border-width: $input-btn-border-width !default; @@ -580,6 +582,8 @@ $card-bg: #fff !default; $card-link-hover-color: #fff !default; +$card-img-overlay-padding: 1.25rem !default; + $card-deck-margin: .625rem !default; $card-columns-sm-up-column-gap: 1.25rem !default; @@ -792,6 +796,8 @@ $carousel-caption-width: 70% !default; $carousel-caption-sm-up-width: 60% !default; $carousel-caption-color: #fff !default; +$carousel-icon-width: 20px !default; + // Close |
