stylesheets/h5bp/_normalize.scss in compass-h5bp-0.1.2 vs stylesheets/h5bp/_normalize.scss in compass-h5bp-1.0.0
- old
+ new
@@ -1,449 +1,325 @@
-//
-// Normalize v1.1.1 | MIT License | git.io/normalize
-//
-
+// normalize.css v3.0.2 | MIT License | git.io/normalize
@mixin h5bp-normalize {
- @include h5bp-display;
- @include h5bp-base;
- @include h5bp-links;
- @include h5bp-typography;
- @include h5bp-lists;
- @include h5bp-embeds;
- @include h5bp-figures;
- @include h5bp-forms;
- @include h5bp-tables;
+ @include normalize-base;
+ @include normalize-display;
+ @include normalize-links;
+ @include normalize-semantics;
+ @include normalize-embedded;
+ @include normalize-grouping;
+ @include normalize-forms;
+ @include normalize-tables;
}
+// Base
+@mixin normalize-base {
+ // 1. Set default font family to sans-serif.
+ // 2. Prevent iOS text size adjust after 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
-@mixin h5bp-display {
+}
- // Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
+// HTML5 display definitions
+@mixin normalize-display {
+ // 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;
+ display: block;
}
- // Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ // 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;
- *display: inline;
- *zoom: 1;
+ 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;
+ display: none;
+ height: 0;
}
- // Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
- // Known issue: no IE 6 support.
- [hidden] {
- display: none;
+ // Address `[hidden]` styling not present in IE 8/9/10.
+ // Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ [hidden],
+ template {
+ display: none;
}
-
}
-
-// Base
-@mixin h5bp-base {
-
- // 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
- // `em` units.
- // 2. Prevent iOS text size adjust after orientation change, without disabling
- // user zoom.
- // 1. Prevent system color scheme's background color being used in Firefox, IE,
- // and Opera.
- // 2. Prevent system color scheme's text color being used in Firefox, IE, and
- // Opera.
- // 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
- // `em` units.
- // 4. Prevent iOS text size adjust after orientation change, without disabling
- // user zoom.
- html {
- background: #fff; // 1
- color: #000; // 2
- font-size: 100%; // 3
- -webkit-text-size-adjust: 100%; // 4
- -ms-text-size-adjust: 100%; // 4
- }
-
- // Address `font-family` inconsistency between `textarea` and other form
- // elements.
-
- html,
- button,
- input,
- select,
- textarea {
- font-family: sans-serif;
- }
-
- // Address margins handled incorrectly in IE 6/7.
-
- body {
- margin: 0;
- }
-
-}
-
-// Deprecation
-@mixin h5bp-selection {
- @warn "The selection mixin has been removed. The selection code is in the h5bp-base-styles mixin starting with Boilerplate version 4.0.";
-}
-
// Links
-@mixin h5bp-links {
-
- // Address `outline` inconsistency between Chrome and other browsers.
- a:focus {
- outline: thin dotted;
+@mixin normalize-links {
+ // Remove the gray background color from active links in IE 10.
+ a {
+ background-color: transparent;
}
// Improve readability when focused and also mouse hovered in all browsers.
a:active,
a:hover {
- outline: 0;
+ outline: 0;
}
-
}
-
-// Typography
-@mixin h5bp-typography {
-
- // Address font sizes and margins set differently in IE 6/7.
- // Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
- // and Chrome.
- h1 {
- font-size: 2em;
- margin: 0.67em 0;
- }
-
- h2 {
- font-size: 1.5em;
- margin: 0.83em 0;
- }
-
- h3 {
- font-size: 1.17em;
- margin: 1em 0;
- }
-
- h4 {
- font-size: 1em;
- margin: 1.33em 0;
- }
-
- h5 {
- font-size: 0.83em;
- margin: 1.67em 0;
- }
-
- h6 {
- font-size: 0.67em;
- margin: 2.33em 0;
- }
-
- // Address styling not present in IE 7/8/9, Safari 5, and Chrome.
+// Text-level semantics
+@mixin normalize-semantics {
+ // Address styling not present in IE 8/9/10/11, Safari, and Chrome.
abbr[title] {
- border-bottom: 1px dotted;
+ border-bottom: 1px dotted;
}
- // Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
+ // Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
b,
strong {
- font-weight: bold;
+ font-weight: bold;
}
- blockquote {
- margin: 1em 40px;
- }
-
- // Address styling not present in Safari 5 and Chrome.
+ // Address styling not present in Safari and Chrome.
dfn {
- font-style: italic;
+ font-style: italic;
}
- // Address differences between Firefox and other browsers.
- // Known issue: no IE 6/7 normalization.
- hr {
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
+ // 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 6/7/8/9.
+ // Address styling not present in IE 8/9.
mark {
- background: #ff0;
- color: #000;
+ background: #ff0;
+ color: #000;
}
- // Address margins set differently in IE 6/7.
- p,
- pre {
- margin: 1em 0;
- }
-
- // Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
- code,
- kbd,
- pre,
- samp {
- font-family: monospace, serif;
- _font-family: 'courier new', monospace;
- font-size: 1em;
- }
-
- // Improve readability of pre-formatted text in all browsers.
- pre {
- white-space: pre;
- white-space: pre-wrap;
- word-wrap: break-word;
- }
-
- // Address CSS quotes not supported in IE 6/7.
- q {
- quotes: none;
- }
-
- // Address `quotes` property not supported in Safari 4.
- q:before,
- q:after {
- content: '';
- content: none;
- }
-
// Address inconsistent and variable font size in all browsers.
small {
- font-size: 80%;
+ 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;
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
}
sup {
- top: -0.5em;
+ top: -0.5em;
}
sub {
- bottom: -0.25em;
+ bottom: -0.25em;
}
-
}
-
-// Lists
-@mixin h5bp-lists {
-
- // Address margins set differently in IE 6/7.
- dl,
- menu,
- ol,
- ul {
- margin: 1em 0;
- }
-
- dd {
- margin: 0 0 0 40px;
- }
-
- // Address paddings set differently in IE 6/7.
- menu,
- ol,
- ul {
- padding: 0 0 0 40px;
- }
-
- // Correct list images handled incorrectly in IE 7.
- nav ul,
- nav ol {
- list-style: none;
- list-style-image: none;
- }
-
-}
-
-
// Embedded content
-@mixin h5bp-embeds {
-
- // 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
- // 2. Improve image quality when scaled in IE 7.
+@mixin normalize-embedded {
+ // Remove border when inside `a` element in IE 8/9/10.
img {
- border: 0; // 1
- -ms-interpolation-mode: bicubic; // 2
+ border: 0;
}
- // Correct overflow displayed oddly in IE 9.
+ // Correct overflow not hidden in IE 9/10/11.
svg:not(:root) {
- overflow: hidden;
+ overflow: hidden;
}
-
}
-
-// Figures
-@mixin h5bp-figures {
-
- // Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+// Grouping content
+@mixin normalize-grouping {
+ // Address margin not present in IE 8/9 and Safari.
figure {
- margin: 0;
+ margin: 1em 40px;
}
-}
-
-
-// Forms
-@mixin h5bp-forms {
-
- // Correct margin displayed oddly in IE 6/7.
- form {
- margin: 0;
+ // Address differences between Firefox and other browsers.
+ hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
}
- // Define consistent border, margin, and padding.
- fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
+ // Contain overflow in all browsers.
+ pre {
+ overflow: auto;
}
- // 1. Correct color not being inherited in IE 6/7/8/9.
- // 2. Correct text not wrapping in Firefox 3.
- // 3. Correct alignment displayed oddly in IE 6/7.
- legend {
- border: 0; // 1
- padding: 0;
- white-space: normal; // 2
- *margin-left: -7px; // 3
+ // Address odd `em`-unit font size rendering in all browsers.
+ code,
+ kbd,
+ pre,
+ samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
}
+}
- // 1. Correct font size not being inherited in all browsers.
- // 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
- // and Chrome.
- // 3. Improve appearance and consistency in all browsers.
+// Forms
+@mixin normalize-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 {
- font-size: 100%; // 1
- margin: 0; // 2
- vertical-align: baseline; // 3
- *vertical-align: middle; // 3
+ color: inherit; // 1
+ font: inherit; // 2
+ margin: 0; // 3
}
- // Address Firefox 3+ setting `line-height` on `input` using `!important` in
- // the UA stylesheet.
- button,
- input {
- line-height: normal;
+ // 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 Chrome, Safari 5+, and IE 6+.
- // Correct `select` style inheritance in Firefox 4+ and Opera.
+ // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ // Correct `select` style inheritance in Firefox.
button,
select {
- text-transform: none;
+ text-transform: none;
}
// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- // and `video` controls.
+ // 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.
- // 4. Remove inner spacing in IE 7 without affecting normal text inputs.
- // Known issue: inner spacing remains in IE 6.
+ // `input` and others.
button,
html input[type="button"], // 1
input[type="reset"],
input[type="submit"] {
- -webkit-appearance: button; // 2
- cursor: pointer; // 3
- *overflow: visible; // 4
+ -webkit-appearance: button; // 2
+ cursor: pointer; // 3
}
// Re-set default cursor for disabled elements.
button[disabled],
html input[disabled] {
- cursor: default;
+ cursor: default;
}
- // 1. Address box sizing set to content-box in IE 8/9.
- // 2. Remove excess padding in IE 8/9.
- // 3. Remove excess padding in IE 7.
- // Known issue: excess padding remains in IE 6.
+ // 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
- *height: 13px; // 3
- *width: 13px; // 3
+ box-sizing: border-box; // 1
+ padding: 0; // 2
}
- // 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
- // 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
- // (include `-moz` to future-proof).
+ // 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
+ // (include `-moz` to future-proof).
input[type="search"] {
- -webkit-appearance: textfield; // 1
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box; // 2
- box-sizing: content-box;
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
}
- // Remove inner padding and search cancel button in Safari 5 and Chrome
- // on OS X.
+ // 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;
+ -webkit-appearance: none;
}
- // Remove inner padding and border in Firefox 3+.
- button::-moz-focus-inner,
- input::-moz-focus-inner {
- border: 0;
- padding: 0;
+ // Define consistent border, margin, and padding.
+ fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
}
- // 1. Remove default vertical scrollbar in IE 6/7/8/9.
- // 2. Improve readability and alignment in all browsers.
+ // 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; // 1
- vertical-align: top; // 2
+ 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
-@mixin h5bp-tables {
-
+@mixin normalize-tables {
// Remove most spacing between table cells.
table {
- border-collapse: collapse;
- border-spacing: 0;
+ border-collapse: collapse;
+ border-spacing: 0;
}
+ td,
+ th {
+ padding: 0;
+ }
}