aboutsummaryrefslogtreecommitdiff
path: root/scss
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2016-05-08 15:25:26 -0700
committerMark Otto <[email protected]>2016-05-08 15:25:26 -0700
commit4a064209ba26f53ed0758f232d0331beca7dfcd3 (patch)
tree8b2d84d7518c4a6d39139ce0f81726133908847a /scss
parentb2dd8e16946c839b24ea1327c65732222e03c2d2 (diff)
parentb479efb9d639de1955d5aa4cfc4acd810352a6b2 (diff)
downloadbootstrap-4a064209ba26f53ed0758f232d0331beca7dfcd3.tar.xz
bootstrap-4a064209ba26f53ed0758f232d0331beca7dfcd3.zip
Merge branch 'v4-dev' into v4-forms-cleanup
Diffstat (limited to 'scss')
-rw-r--r--scss/.scss-lint.yml6
-rw-r--r--scss/_card.scss5
-rw-r--r--scss/_carousel.scss10
-rw-r--r--scss/_custom-forms.scss6
-rw-r--r--scss/_normalize.scss329
-rw-r--r--scss/_reboot.scss5
-rw-r--r--scss/_variables.scss8
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