stylesheets/h5bp/_normalize.scss in compass-h5bp-0.0.5 vs stylesheets/h5bp/_normalize.scss in compass-h5bp-0.1.0

- old
+ new

@@ -1,25 +1,12 @@ // -// Normalize +// Normalize v1.0.1 | MIT License | git.io/normalize // -$line-height: 1.4 !default; -$font-color: #222 !default; -$font-family: sans-serif !default; -$font-size: 1em !default; -$link-color: #00e !default; -$link-hover-color: #06e !default; -$link-visited-color: #551a8b !default; -$selected-font-color: #fff !default; -$selected-background-color: #fe57a1 !default; -$invalid-background-color: #f0dddd !default; - - @mixin h5bp-normalize { @include h5bp-display; @include h5bp-base; - @include h5bp-selection; @include h5bp-links; @include h5bp-typography; @include h5bp-lists; @include h5bp-embeds; @include h5bp-figures; @@ -29,185 +16,399 @@ // Html5 display definitions @mixin h5bp-display { - article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } - audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } - audio:not([controls]) { display: none; } - [hidden] { display: none; } + // Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. + article, + aside, + details, + figcaption, + figure, + footer, + header, + hgroup, + nav, + section, + summary { + display: block; + } + // Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. + audio, + canvas, + video { + display: inline-block; + *display: inline; + *zoom: 1; + } + + // Prevents modern browsers from displaying `audio` without controls. + // Remove excess height in iOS 5 devices. + audio:not([controls]) { + display: none; + height: 0; + } + + // Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, + // and Safari 4. + // Known issue: no IE 6 support. + [hidden] { + display: none; + } + } // Base @mixin h5bp-base { - // 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units - // 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g + // 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using + // `em` units. + // 2. Prevents iOS text size adjust after orientation change, without disabling + // user zoom. + html { + font-size: 100%; // 1 + -webkit-text-size-adjust: 100%; // 2 + -ms-text-size-adjust: 100%; // 2 + } - html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } + // Addresses `font-family` inconsistency between `textarea` and other form + // elements. - html, button, input, select, textarea { font-family: $font-family; color: $font-color; } + html, + button, + input, + select, + textarea { + font-family: sans-serif; + } - body { margin: 0; font-size: $font-size; line-height: $line-height; } + // Addresses margins handled incorrectly in IE 6/7. + body { + margin: 0; + } + } +// Deprecation @mixin h5bp-selection { - - // Remove text-shadow in selection highlight: h5bp.com/i - // These selection declarations have to be separate - // Also: hot pink! (or customize the background color to match your design) - - ::-moz-selection { background: $selected-background-color; color: $selected-font-color; text-shadow: none; } - ::selection { background: $selected-background-color; color: $selected-font-color; text-shadow: none; } - + @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 { - a { color: $link-color; } - a:visited { color: $link-visited-color; } - a:hover { color: $link-hover-color; } - a:focus { outline: thin dotted; } + // Addresses `outline` inconsistency between Chrome and other browsers. + a:focus { + outline: thin dotted; + } - // Improve readability when focused and hovered in all browsers: h5bp.com/h - a:hover, a:active { outline: 0; } + // Improves readability when focused and also mouse hovered in all browsers. + a:active, + a:hover { + outline: 0; + } } // Typography @mixin h5bp-typography { - abbr[title] { border-bottom: 1px dotted; } + // Addresses font sizes and margins set differently in IE 6/7. + // Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, + // and Chrome. + h1 { + font-size: 2em; + margin: 0.67em 0; + } - b, strong { font-weight: bold; } + h2 { + font-size: 1.5em; + margin: 0.83em 0; + } - blockquote { margin: 1em 40px; } + h3 { + font-size: 1.17em; + margin: 1em 0; + } - dfn { font-style: italic; } + h4 { + font-size: 1em; + margin: 1.33em 0; + } - hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } + h5 { + font-size: 0.83em; + margin: 1.67em 0; + } - ins { background: #ff9; color: #000; text-decoration: none; } + h6 { + font-size: 0.75em; + margin: 2.33em 0; + } - mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } + // Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. + abbr[title] { + border-bottom: 1px dotted; + } - // Redeclare monospace font family: h5bp.com/j - pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; } + // Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. + b, + strong { + font-weight: bold; + } - // Improve readability of pre-formatted text in all browsers - pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } + blockquote { + margin: 1em 40px; + } - q { quotes: none; } - q:before, q:after { content: ""; content: none; } + // Addresses styling not present in Safari 5 and Chrome. + dfn { + font-style: italic; + } - small { font-size: 85%; } + // Addresses styling not present in IE 6/7/8/9. + mark { + background: #ff0; + color: #000; + } - // Position subscript and superscript content without affecting line-height: h5bp.com/k - sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } - sup { top: -0.5em; } - sub { bottom: -0.25em; } + // Addresses margins set differently in IE 6/7. + p, + pre { + margin: 1em 0; + } + // Corrects 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; + } + + // Improves readability of pre-formatted text in all browsers. + pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + } + + // Addresses CSS quotes not supported in IE 6/7. + q { + quotes: none; + } + + // Addresses `quotes` property not supported in Safari 4. + q:before, + q:after { + content: ''; + content: none; + } + + // Addresses inconsistent and variable font size in all browsers. + small { + font-size: 80%; + } + + // Prevents `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; + } + } // Lists @mixin h5bp-lists { - ul, ol { margin: 1em 0; padding: 0 0 0 40px; } - dd { margin: 0 0 0 40px; } - nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } + // Addresses margins set differently in IE 6/7. + dl, + menu, + ol, + ul { + margin: 1em 0; + } + dd { + margin: 0 0 0 40px; + } + + // Addresses paddings set differently in IE 6/7. + menu, + ol, + ul { + padding: 0 0 0 40px; + } + } // Embedded content @mixin h5bp-embeds { - // 1. Improve image quality when scaled in IE7: h5bp.com/d - // 2. Remove the gap between images and borders on image containers: h5bp.com/i/440 + // 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3. + // 2. Improves image quality when scaled in IE 7. + img { + border: 0; /* 1 */ + -ms-interpolation-mode: bicubic; /* 2 */ + } - img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } + // Corrects overflow displayed oddly in IE 9. + svg:not(:root) { + overflow: hidden; + } - // Correct overflow not hidden in IE9 - - svg:not(:root) { overflow: hidden; } - } // Figures @mixin h5bp-figures { - figure { margin: 0; } + // Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. + figure { + margin: 0; + } } // Forms @mixin h5bp-forms { - form { margin: 0; } - fieldset { border: 0; margin: 0; padding: 0; } + // Corrects margin displayed oddly in IE 6/7. + form { + margin: 0; + } - // Indicate that 'label' will shift focus to the associated form element - label { cursor: pointer; } + // 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 inheriting in IE6/7/8/9 - // 2. Correct alignment displayed oddly in IE6/7 + // 1. Corrects color not being inherited in IE 6/7/8/9. + // 2. Corrects text not wrapping in Firefox 3. + // 3. Corrects alignment displayed oddly in IE 6/7. + legend { + border: 0; // 1 + padding: 0; + white-space: normal; // 2 + *margin-left: -7px; // 3 + } - legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; } + // 1. Corrects font size not being inherited in all browsers. + // 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, + // and Chrome. + // 3. Improves appearance and consistency in all browsers.button, + input, + select, + textarea { + font-size: 100%; // 1 + margin: 0; // 2 + vertical-align: baseline; // 3 + *vertical-align: middle; // 3 + } - // 1. Correct font-size not inheriting in all browsers - // 2. Remove margins in FF3/4 S5 Chrome - // 3. Define consistent vertical alignment display in all browsers + // Addresses Firefox 3+ setting `line-height` on `input` using `!important` in + // the UA stylesheet. + button, + input { + line-height: normal; + } - button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } + // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + // and `video` controls. + // 2. Corrects inability to style clickable `input` types in iOS. + // 3. Improves usability and consistency of cursor style between image-type + // `input` and others. + // 4. Removes inner spacing in IE 7 without affecting normal text inputs. + // Known issue: inner spacing remains in IE 6. + button, + html input[type="button"], // 1 + input[type="reset"], + input[type="submit"] { + -webkit-appearance: button; // 2 + cursor: pointer; // 3 + *overflow: visible; // 4 + } - // 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet) + // Re-set default cursor for disabled elements. + button[disabled], + input[disabled] { + cursor: default; + } - button, input { line-height: normal; } + // 1. Addresses box sizing set to content-box in IE 8/9. + // 2. Removes excess padding in IE 8/9. + // 3. Removes excess padding in IE 7. + // Known issue: excess padding remains in IE 6. + input[type="checkbox"], + input[type="radio"] { + box-sizing: border-box; // 1 + padding: 0; // 2 + *height: 13px; // 3 + *width: 13px; // 3 + } - // 1. Display hand cursor for clickable form elements - // 2. Allow styling of clickable form elements in iOS - // 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6) + // 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. + // 2. Addresses `box-sizing` set to `border-box` in Safari 5 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; + } - button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; } + // Removes inner padding and search cancel button in Safari 5 and Chrome + // on OS X. + input[type="search"]::-webkit-search-cancel-button, + input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } - // Re-set default cursor for disabled elements + // Removes inner padding and border in Firefox 3+. + button::-moz-focus-inner, + input::-moz-focus-inner { + border: 0; + padding: 0; + } - button[disabled], input[disabled] { cursor: default; } + // 1. Removes default vertical scrollbar in IE 6/7/8/9. + // 2. Improves readability and alignment in all browsers. + textarea { + overflow: auto; // 1 + vertical-align: top; // 2 + } - // Consistent box sizing and appearance - - input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; } - input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } - input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; } - - // Remove inner padding and border in FF3/4: h5bp.com/l - - button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } - - // 1. Remove default vertical scrollbar in IE6/7/8/9 - // 2. Allow only vertical resizing - - textarea { overflow: auto; vertical-align: top; resize: vertical; } - - // Colors for form validity - input:valid, textarea:valid { } - input:invalid, textarea:invalid { background-color: $invalid-background-color; } - } // Tables @mixin h5bp-tables { - table { border-collapse: collapse; border-spacing: 0; } - td { vertical-align: top; } + // Remove most spacing between table cells. + table { + border-collapse: collapse; + border-spacing: 0; + } } \ No newline at end of file