From 952e9390f621b61cb9abf6d0f8110fea3807a5d1 Mon Sep 17 00:00:00 2001 From: Alex Pott <alex.a.pott@googlemail.com> Date: Tue, 10 Mar 2020 23:07:18 +0000 Subject: [PATCH] Issue #2821525 by bnjmnm, chrisrockwell, tedbow, alexpott, droplet, lauriii, DyanneNova, effulgentsia, xjm, joelpittet, Cottser, andrewmacpherson: Update normalize.css to the most recent version --- core/.stylelintrc.json | 3 +- .../assets/vendor/normalize-css/normalize.css | 389 +++++++--------- core/core.libraries.yml | 4 +- core/misc/normalize-fixes.css | 35 +- .../demo_umami/themes/umami/css/base.css | 31 ++ core/themes/bartik/css/components/form.css | 27 ++ core/themes/bartik/css/components/table.css | 1 + core/themes/claro/css/components/form.css | 23 + .../themes/claro/css/components/form.pcss.css | 20 + core/themes/claro/css/components/tables.css | 1 + .../claro/css/components/tables.pcss.css | 1 + core/themes/seven/css/components/form.css | 40 ++ core/themes/seven/css/components/tables.css | 1 + .../assets/vendor/normalize-css/normalize.css | 424 ++++++++++++++++++ .../stable/css/core/normalize-fixes.css | 13 + core/themes/stable/stable.info.yml | 3 + core/themes/stable/stable.libraries.yml | 12 + 17 files changed, 789 insertions(+), 239 deletions(-) create mode 100644 core/themes/stable/css/core/assets/vendor/normalize-css/normalize.css create mode 100644 core/themes/stable/css/core/normalize-fixes.css diff --git a/core/.stylelintrc.json b/core/.stylelintrc.json index 2d003dcc9d21..84123b2e7f32 100644 --- a/core/.stylelintrc.json +++ b/core/.stylelintrc.json @@ -441,6 +441,7 @@ "ignoreFiles": [ "assets/vendor/**/*.css", "tests/Drupal/Tests/Core/Asset/css_test_files/**/*.css", - "modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css" + "modules/media/css/plugins/drupalmedia/ckeditor.drupalmedia.css", + "themes/stable/css/core/assets/vendor/**/*.css" ] } diff --git a/core/assets/vendor/normalize-css/normalize.css b/core/assets/vendor/normalize-css/normalize.css index 5e5e3c898106..192eb9ce4338 100644 --- a/core/assets/vendor/normalize-css/normalize.css +++ b/core/assets/vendor/normalize-css/normalize.css @@ -1,89 +1,76 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ /** - * 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. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. */ html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ + line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ } +/* Sections + ========================================================================== */ + /** - * Remove default margin. + * Remove the margin in all browsers. */ body { margin: 0; } -/* HTML5 display definitions - ========================================================================== */ - /** - * 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. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { + * Render the `main` element consistently in IE. + */ + +main { display: block; } /** - * 1. Correct `inline-block` display not defined in IE 8/9. - * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. */ -audio, -canvas, -progress, -video { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ +h1 { + font-size: 2em; + margin: 0.67em 0; } +/* Grouping content + ========================================================================== */ + /** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. */ -audio:not([controls]) { - display: none; - height: 0; +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ } /** - * Address `[hidden]` styling not present in IE 8/9/10. - * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. */ -[hidden], -template { - display: none; +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ } -/* Links +/* Text-level semantics ========================================================================== */ /** - * Remove the gray background color from active links in IE 10. + * Remove the gray background on active links in IE 10. */ a { @@ -91,64 +78,39 @@ a { } /** - * Improve readability of focused elements when they are also in an - * active/hover state. - */ - -a:active, -a:hover { - outline: 0; -} - -/* Text-level semantics - ========================================================================== */ - -/** - * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + * 1. Remove the bottom border in Chrome 57- + * 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. + * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { - font-weight: bold; -} - -/** - * Address styling not present in Safari and Chrome. - */ - -dfn { - font-style: italic; -} - -/** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari, and Chrome. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; + font-weight: bolder; } /** - * Address styling not present in IE 8/9. + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. */ -mark { - background: #ff0; - color: #000; +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ } /** - * Address inconsistent and variable font size in all browsers. + * Add the correct font size in all browsers. */ small { @@ -156,7 +118,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, @@ -167,258 +130,220 @@ 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; -} - -/** - * Correct overflow not hidden in IE 9/10/11. - */ - -svg:not(:root) { - overflow: hidden; + border-style: none; } -/* Grouping content +/* Forms ========================================================================== */ /** - * Address margin not present in IE 8/9 and Safari. + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. */ -figure { - margin: 1em 40px; -} - -/** - * Address differences between Firefox and other browsers. - */ - -hr { - box-sizing: content-box; - height: 0; +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ } /** - * Contain overflow in all browsers. + * Show the overflow in IE. + * 1. Show the overflow in Edge. */ -pre { - overflow: auto; +button, +input { /* 1 */ + overflow: visible; } /** - * Address odd `em`-unit font size rendering in all browsers. + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. */ -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; +button, +select { /* 1 */ + text-transform: none; } -/* 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. + * Correct the inability to style clickable types in iOS and Safari. */ button, -input, -optgroup, -select, -textarea { - color: inherit; /* 1 */ - font: inherit; /* 2 */ - margin: 0; /* 3 */ +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } /** - * Address `overflow` set to `hidden` in IE 8/9/10/11. + * Remove the inner border and padding in Firefox. */ -button { - overflow: visible; +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } /** - * 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. + * Restore the focus styles unset by the previous rule. */ -button, -select { - text-transform: none; +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; } /** - * 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. + * Correct the padding in Firefox. */ -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ +fieldset { + padding: 0.35em 0.75em 0.625em; } /** - * Re-set default cursor for disabled elements. + * 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. */ -button[disabled], -html input[disabled] { - cursor: default; +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ } /** - * Remove inner padding and border in Firefox 4+. + * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; +progress { + vertical-align: baseline; } /** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. + * Remove the default vertical scrollbar in IE 10+. */ -input { - line-height: normal; +textarea { + overflow: auto; } /** - * 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. + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. */ -input[type="checkbox"], -input[type="radio"] { +[type="checkbox"], +[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } /** - * 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`. + * Correct the cursor style of increment and decrement buttons in Chrome. */ -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { height: auto; } /** - * 1. Address `appearance` set to `searchfield` in Safari and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. */ -input[type="search"] { +[type="search"] { -webkit-appearance: textfield; /* 1 */ - box-sizing: content-box; /* 2 */ + outline-offset: -2px; /* 2 */ } /** - * 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). + * Remove the inner padding in Chrome and Safari on macOS. */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { +[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } /** - * Define consistent border, margin, and padding. + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ } -/** - * 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. - */ - -legend { - border: 0; /* 1 */ - padding: 0; /* 2 */ -} +/* Interactive + ========================================================================== */ -/** - * Remove default vertical scrollbar in IE 8/9/10/11. +/* + * Add the correct display in Edge, IE 10+, and Firefox. */ -textarea { - overflow: auto; +details { + display: block; } -/** - * 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. +/* + * Add the correct display in all browsers. */ -optgroup { - font-weight: bold; +summary { + display: list-item; } -/* Tables +/* Misc ========================================================================== */ /** - * Remove most spacing between table cells. + * Add the correct display in IE 10+. */ -table { - border-collapse: collapse; - border-spacing: 0; +template { + display: none; } -td, -th { - padding: 0; +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; } diff --git a/core/core.libraries.yml b/core/core.libraries.yml index fd3fa39f12fe..b632a426e05a 100644 --- a/core/core.libraries.yml +++ b/core/core.libraries.yml @@ -580,10 +580,10 @@ modernizr: normalize: remote: https://github.com/necolas/normalize.css - version: "3.0.3" + version: "8.0.1" license: name: MIT - url: https://github.com/necolas/normalize.css/blob/master/LICENSE.md + url: https://github.com/necolas/normalize.css/blob/8.0.1/LICENSE.md gpl-compatible: true css: base: diff --git a/core/misc/normalize-fixes.css b/core/misc/normalize-fixes.css index b400831192a8..0845eebf286d 100644 --- a/core/misc/normalize-fixes.css +++ b/core/misc/normalize-fixes.css @@ -1,13 +1,40 @@ /** * @file - * Fixes for core/assets/vendor/normalize-css/normalize.css since version 3. + * Fixes for core/assets/vendor/normalize-css/normalize.css since version 8.0.1. */ /** - * Fix problem with details/summary lines missing the drop arrows. + * Add SVG styling for IE that was mistakenly removed from normalize.css in + * 8.0.0. */ -@media (min--moz-device-pixel-ratio: 0) { +svg:not(:root) { + overflow: hidden; +} + +/** + * Prevent regression due to normalize.css no longer hiding the cancel search + * button in 8.0.0. + * @todo Remove this rule in https://drupal.org/node/3114878 + */ +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +/** + * Prevent IE11 and Edge <summary> elements from being displayed as list-item. + * due to a rule added in normalize.css 5.0.0. For browsers that support + * <summary>, this is the correct styling. For IE11 and Edge, which do not + * support this element, this results in an unwanted list-item bullet. + */ +/* Target IE11 */ +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + summary { + display: block; + } +} +/* Target Edge */ +@supports (-ms-ime-align:auto) { summary { - display: list-item; + display: block; } } diff --git a/core/profiles/demo_umami/themes/umami/css/base.css b/core/profiles/demo_umami/themes/umami/css/base.css index 385fe877c41d..63532a340f5e 100644 --- a/core/profiles/demo_umami/themes/umami/css/base.css +++ b/core/profiles/demo_umami/themes/umami/css/base.css @@ -260,6 +260,37 @@ label { font-weight: 700; } +/** + * Prevent regression due to fieldset styling that was removed in normalize.css + * 6.0.0. + */ +fieldset { + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + border: 1px solid #c0c0c0; +} + +/** + * Prevent regression due to explicit line-height applied to these elements in + * normalize.css 7.0.0. + */ +button, +input:not([type="file"]), +textarea { + line-height: 1.5rem; +} +optgroup { + line-height: normal; +} + +/** + * Prevent regression due to -webkit-appearance being set to button in + * normalize.css 4.1.0. + */ +::-webkit-file-upload-button { + -webkit-appearance: push-button; +} + ul, ol { margin-bottom: 1.28rem; diff --git a/core/themes/bartik/css/components/form.css b/core/themes/bartik/css/components/form.css index f3400f411f87..b2b1eae70a08 100644 --- a/core/themes/bartik/css/components/form.css +++ b/core/themes/bartik/css/components/form.css @@ -13,9 +13,28 @@ form { margin: 0; padding: 0; } +/** + * Prevent regression due to explicit line-height applied to these elements in + * normalize.css 7.0.0. + */ +button { + line-height: 1.21875rem; +} +input:not([type="file"]) { + line-height: normal; +} +select { + line-height: 1.5; +} +/** + * 1. Prevent regression due to fieldset styling that was removed in + * normalize.css 6.0.0. + */ fieldset { min-width: 0; margin: 1em 0; + padding: 0.35em 0.625em 0.75em; /* 1 */ + border: 1px solid #c0c0c0; /* 1 */ } /** * We've temporarily added this Firefox specific rule here to fix fieldset @@ -87,6 +106,14 @@ textarea { font-size: 0.929em; } +/** + * Prevent regression due to -webkit-appearance being set to button in + * normalize.css 4.1.0. + */ +::-webkit-file-upload-button { + -webkit-appearance: push-button; +} + /** * Make the font slightly bigger in mobile * @todo: check the correct font-size diff --git a/core/themes/bartik/css/components/table.css b/core/themes/bartik/css/components/table.css index 1aa03804fd41..f7b452473562 100644 --- a/core/themes/bartik/css/components/table.css +++ b/core/themes/bartik/css/components/table.css @@ -8,6 +8,7 @@ table { margin: 10px 0; border-spacing: 0; border: 0; + border-collapse: collapse; font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif; font-size: 0.857em; } diff --git a/core/themes/claro/css/components/form.css b/core/themes/claro/css/components/form.css index c2ab325e92a2..917dedab7c82 100644 --- a/core/themes/claro/css/components/form.css +++ b/core/themes/claro/css/components/form.css @@ -280,3 +280,26 @@ tr .form-item, float: none; } } + +/** + * Prevent regression due to explicit line-heights applied to these elements in + * normalize.css 7.0.0. + */ + +button { + line-height: 1.125rem; +} + +input, +optgroup { + line-height: 1.5rem; +} + +/** + * Prevent regression due to -webkit-appearance being set to button in + * normalize.css 4.1.0. + */ + +::-webkit-file-upload-button { + -webkit-appearance: push-button; +} diff --git a/core/themes/claro/css/components/form.pcss.css b/core/themes/claro/css/components/form.pcss.css index a39ea9425596..9ff2ac3b19f4 100644 --- a/core/themes/claro/css/components/form.pcss.css +++ b/core/themes/claro/css/components/form.pcss.css @@ -198,3 +198,23 @@ tr .form-item, float: none; } } + +/** + * Prevent regression due to explicit line-heights applied to these elements in + * normalize.css 7.0.0. + */ +button { + line-height: 1.125rem; +} +input, +optgroup { + line-height: 1.5rem; +} + +/** + * Prevent regression due to -webkit-appearance being set to button in + * normalize.css 4.1.0. + */ +::-webkit-file-upload-button { + -webkit-appearance: push-button; +} diff --git a/core/themes/claro/css/components/tables.css b/core/themes/claro/css/components/tables.css index 8996753aff64..3af16a7a95c7 100644 --- a/core/themes/claro/css/components/tables.css +++ b/core/themes/claro/css/components/tables.css @@ -58,6 +58,7 @@ table { width: 100%; margin-top: 1.5rem; margin-bottom: 1.5rem; + border-collapse: collapse; } .sticky-header { diff --git a/core/themes/claro/css/components/tables.pcss.css b/core/themes/claro/css/components/tables.pcss.css index b0933e689046..a141bbd3fed8 100644 --- a/core/themes/claro/css/components/tables.pcss.css +++ b/core/themes/claro/css/components/tables.pcss.css @@ -9,6 +9,7 @@ table { width: 100%; margin-top: var(--space-l); margin-bottom: var(--space-l); + border-collapse: collapse; } .sticky-header { diff --git a/core/themes/seven/css/components/form.css b/core/themes/seven/css/components/form.css index 98e78914e92a..66f2f53aded8 100644 --- a/core/themes/seven/css/components/form.css +++ b/core/themes/seven/css/components/form.css @@ -5,6 +5,38 @@ form { margin: 0; padding: 0; } + +/** + * Prevent regression due to explicit line-height and font-size applied to these + * elements in normalize.css 7.0.0. + */ +button:not(.button), +input:not([type="file"],.form-text, .form-textarea) { + line-height: 1.25em; +} +textarea, +input[type="search"], +input[type="number"], +input[type="email"] { + line-height: normal; +} +select { + font-size: 0.8125rem; + line-height: 1.42902em; +} +details select { + line-height: 1.20324em; +} + +/** + * Prevent regression due to fieldset styling that was removed in normalize.css + * 6.0.0. + */ +fieldset { + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; + border: 1px solid #c0c0c0; +} fieldset:not(.fieldgroup) { position: relative; min-width: 0; @@ -353,3 +385,11 @@ select { div.filter-options select { padding: 0; } + +/** + * Prevent regression due to -webkit-appearance being set to button in + * normalize.css 4.1.0. + */ +::-webkit-file-upload-button { + -webkit-appearance: push-button; +} diff --git a/core/themes/seven/css/components/tables.css b/core/themes/seven/css/components/tables.css index 3b74832c4a46..90e7ac6690ba 100644 --- a/core/themes/seven/css/components/tables.css +++ b/core/themes/seven/css/components/tables.css @@ -6,6 +6,7 @@ table { width: 100%; margin: 0 0 10px; + border-collapse: collapse; } caption { text-align: left; /* LTR */ diff --git a/core/themes/stable/css/core/assets/vendor/normalize-css/normalize.css b/core/themes/stable/css/core/assets/vendor/normalize-css/normalize.css new file mode 100644 index 000000000000..5e5e3c898106 --- /dev/null +++ b/core/themes/stable/css/core/assets/vendor/normalize-css/normalize.css @@ -0,0 +1,424 @@ +/*! normalize.css v3.0.3 | 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. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * 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. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability of focused elements when they are also in an + * active/hover state. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* 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. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * 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. + */ + +button, +select { + text-transform: none; +} + +/** + * 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. + */ + +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; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * 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. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * 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`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + box-sizing: content-box; /* 2 */ +} + +/** + * 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). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 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. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * 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. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/core/themes/stable/css/core/normalize-fixes.css b/core/themes/stable/css/core/normalize-fixes.css new file mode 100644 index 000000000000..b400831192a8 --- /dev/null +++ b/core/themes/stable/css/core/normalize-fixes.css @@ -0,0 +1,13 @@ +/** + * @file + * Fixes for core/assets/vendor/normalize-css/normalize.css since version 3. + */ + +/** + * Fix problem with details/summary lines missing the drop arrows. + */ +@media (min--moz-device-pixel-ratio: 0) { + summary { + display: list-item; + } +} diff --git a/core/themes/stable/stable.info.yml b/core/themes/stable/stable.info.yml index 52e93789a099..511d88444619 100644 --- a/core/themes/stable/stable.info.yml +++ b/core/themes/stable/stable.info.yml @@ -89,6 +89,9 @@ libraries-override: component: misc/vertical-tabs.css: css/core/vertical-tabs.css + # Load version 3.0.3 of normalize.css for backwards compatibility. + core/normalize: stable/normalize + dblog/drupal.dblog: css: component: diff --git a/core/themes/stable/stable.libraries.yml b/core/themes/stable/stable.libraries.yml index cfa2abb66ed9..8ef4f9928d4e 100644 --- a/core/themes/stable/stable.libraries.yml +++ b/core/themes/stable/stable.libraries.yml @@ -7,3 +7,15 @@ drupal.user: version: VERSION js: js/user.theme.js: {} + +normalize: + remote: https://github.com/necolas/normalize.css + version: "3.0.3" + license: + name: MIT + url: https://github.com/necolas/normalize.css/blob/3.0.3/LICENSE.md + gpl-compatible: true + css: + base: + css/core/assets/vendor/normalize-css/normalize.css: { weight: -20 } + css/core/normalize-fixes.css: { weight: -19 } -- GitLab