Created
November 17, 2014 22:43
-
-
Save prof3ssorSt3v3/3ff04e302d351846371d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ============================================================================= | |
// Normalize.scss based on Nicolas Gallagher and Jonathan Neal's | |
// normalize.css v2.1.3 | MIT License | git.io/normalize | |
// ============================================================================= | |
// ============================================================================= | |
// Normalize.scss settings | |
// ============================================================================= | |
// Set to true if you want to add support for IE6 and IE7 | |
// Notice: setting to true might render some elements | |
// slightly differently than when set to false | |
$legacy_support_for_ie: false !default; // Used also in Compass | |
// Set the default font family here so you don't have to override it later | |
$normalized_font_family: sans-serif !default; | |
$normalize_headings: true !default; | |
$h1_font_size: 2em !default; | |
$h2_font_size: 1.5em !default; | |
$h3_font_size: 1.17em !default; | |
$h4_font_size: 1em !default; | |
$h5_font_size: 0.83em !default; | |
$h6_font_size: 0.75em !default; | |
$h1_margin: 0.67em 0 !default; | |
$h2_margin: 0.83em 0 !default; | |
$h3_margin: 1em 0 !default; | |
$h4_margin: 1.33em 0 !default; | |
$h5_margin: 1.67em 0 !default; | |
$h6_margin: 2.33em 0 !default; | |
$background: #fff !default; | |
$color: #000 !default; | |
// ============================================================================= | |
// HTML5 display definitions | |
// ============================================================================= | |
// Corrects block display not defined in IE6/7/8/9 & FF3 | |
article, | |
aside, | |
details, | |
figcaption, | |
figure, | |
footer, | |
header, | |
hgroup, | |
nav, | |
section, | |
summary { | |
display: block; | |
} | |
// Corrects inline-block display not defined in IE6/7/8/9 & FF3 | |
audio, | |
canvas, | |
video { | |
display: inline-block; | |
@if $legacy_support_for_ie { | |
*display: inline; | |
*zoom: 1; | |
} | |
} | |
// 1. Prevents modern browsers from displaying 'audio' without controls | |
// 2. Remove excess height in iOS5 devices | |
audio:not([controls]) { | |
display: none; // 1 | |
height: 0; // 2 | |
} | |
// | |
// Address `[hidden]` styling not present in IE 8/9. | |
// Hide the `template` element in IE, Safari, and Firefox < 22. | |
// | |
[hidden], template { | |
display: none; | |
} | |
// ============================================================================= | |
// Base | |
// ============================================================================= | |
// 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units | |
// http://clagnut.com/blog/348/#c790 | |
// 2. Prevents iOS text size adjust after orientation change, without disabling user zoom | |
// www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ | |
html { | |
@if $legacy_support_for_ie { | |
font-size: 100%; // 1 | |
} | |
background: $background; | |
color: $color; | |
-webkit-text-size-adjust: 100%; // 2 | |
-ms-text-size-adjust: 100%; // 2 | |
} | |
// Addresses font-family inconsistency between 'textarea' and other form elements. | |
html, | |
button, | |
input, | |
select, | |
textarea { | |
font-family: $normalized_font_family; | |
} | |
// Addresses margins handled incorrectly in IE6/7 | |
body { | |
margin: 0; | |
} | |
// ============================================================================= | |
// Links | |
// ============================================================================= | |
// 1. Remove the gray background color from active links in IE 10. | |
// 2. Addresses outline displayed oddly in Chrome | |
// 3. Improves readability when focused and also mouse hovered in all browsers | |
// people.opera.com/patrickl/experiments/keyboard/test | |
a { | |
// 1 | |
background: transparent; | |
// 2 | |
&:focus { | |
outline: thin dotted; | |
} | |
// 3 | |
&:hover, | |
&:active { | |
outline: 0; | |
} | |
} | |
// ============================================================================= | |
// Typography | |
// ============================================================================= | |
// Addresses font sizes and margins set differently in IE6/7 | |
// Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5 | |
@if $normalize_headings == true { | |
h1 { | |
font-size: $h1_font_size; | |
margin: $h1_margin; | |
} | |
h2 { | |
font-size: $h2_font_size; | |
margin: $h2_margin; | |
} | |
h3 { | |
font-size: $h3_font_size; | |
margin: $h3_margin; | |
} | |
h4 { | |
font-size: $h4_font_size; | |
margin: $h4_margin; | |
} | |
h5 { | |
font-size: $h5_font_size; | |
margin: $h5_margin; | |
} | |
h6 { | |
font-size: $h6_font_size; | |
margin: $h6_margin; | |
} | |
} | |
// Addresses styling not present in IE 8/9, S5, Chrome | |
abbr[title] { | |
border-bottom: 1px dotted; | |
} | |
// Addresses style set to 'bolder' in FF3+, S4/5, Chrome | |
b, | |
strong { | |
font-weight: bold; | |
} | |
@if $legacy_support_for_ie { | |
blockquote { | |
margin: 1em 40px; | |
} | |
} | |
// Addresses styling not present in S5, Chrome | |
dfn { | |
font-style: italic; | |
} | |
// Addresses styling not present in IE6/7/8/9 | |
mark { | |
background: #ff0; | |
color: #000; | |
} | |
// Addresses margins set differently in IE6/7 | |
@if $legacy_support_for_ie { | |
p, | |
pre { | |
margin: 1em 0; | |
} | |
} | |
// Corrects font family set oddly in IE6, S4/5, Chrome | |
// en.wikipedia.org/wiki/User:Davidgothberg/Test59 | |
code, | |
kbd, | |
pre, | |
samp { | |
font-family: monospace, serif; | |
@if $legacy_support_for_ie { | |
_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; | |
} | |
// Set consistent quote types. | |
q { | |
quotes: "\201C" "\201D" "\2018" "\2019"; | |
} | |
// 1. Addresses CSS quotes not supported in IE6/7 | |
// 2. Addresses quote property not supported in S4 | |
// 1 | |
@if $legacy_support_for_ie { | |
q { | |
quotes: none; | |
} | |
} | |
// 2 | |
q { | |
&:before, | |
&:after { | |
content: ''; | |
content: none; | |
} | |
} | |
// Address inconsistent and variable font size in all browsers. | |
small { | |
font-size: 80%; | |
} | |
// Prevents sub and sup affecting line-height in all browsers | |
// gist.github.com/413930 | |
sub, | |
sup { | |
font-size: 75%; | |
line-height: 0; | |
position: relative; | |
vertical-align: baseline; | |
} | |
sup { | |
top: -0.5em; | |
} | |
sub { | |
bottom: -0.25em; | |
} | |
// ============================================================================= | |
// Lists | |
// ============================================================================= | |
// Addresses margins set differently in IE6/7 | |
@if $legacy_support_for_ie { | |
dl, | |
menu, | |
ol, | |
ul { | |
margin: 1em 0; | |
} | |
} | |
@if $legacy_support_for_ie { | |
dd { | |
margin: 0 0 0 40px; | |
} | |
} | |
// Addresses paddings set differently in IE6/7 | |
@if $legacy_support_for_ie { | |
menu, | |
ol, | |
ul { | |
padding: 0 0 0 40px; | |
} | |
} | |
// Corrects list images handled incorrectly in IE7 | |
nav { | |
ul, | |
ol { | |
@if $legacy_support_for_ie { | |
list-style-image: none; | |
} | |
} | |
} | |
// ============================================================================= | |
// Embedded content | |
// ============================================================================= | |
// 1. Removes border when inside 'a' element in IE6/7/8/9, FF3 | |
// 2. Improves image quality when scaled in IE7 | |
// code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ | |
img { | |
border: 0; // 1 | |
@if $legacy_support_for_ie { | |
-ms-interpolation-mode: bicubic; // 2 | |
} | |
} | |
// Corrects overflow displayed oddly in IE9 | |
svg:not(:root) { | |
overflow: hidden; | |
} | |
// ============================================================================= | |
// Figures | |
// ============================================================================= | |
// Addresses margin not present in IE6/7/8/9, S5, O11 | |
figure { | |
margin: 0; | |
} | |
// ============================================================================= | |
// Forms | |
// ============================================================================= | |
// Corrects margin displayed oddly in IE6/7 | |
@if $legacy_support_for_ie { | |
form { | |
margin: 0; | |
} | |
} | |
// Define consistent border, margin, and padding | |
fieldset { | |
border: 1px solid #c0c0c0; | |
margin: 0 2px; | |
padding: 0.35em 0.625em 0.75em; | |
} | |
// 1. Corrects color not being inherited in IE6/7/8/9 | |
// 2. Remove padding so people aren't caught out if they zero out fieldsets. | |
// 3. Corrects text not wrapping in FF3 | |
// 4. Corrects alignment displayed oddly in IE6/7 | |
legend { | |
border: 0; // 1 | |
padding: 0; // 2 | |
white-space: normal; // 3 | |
@if $legacy_support_for_ie { | |
*margin-left: -7px; // 4 | |
} | |
} | |
// 1. Correct font family not being inherited in all browsers. | |
// 2. Corrects font size not being inherited in all browsers | |
// 3. Addresses margins set differently in IE6/7, FF3+, S5, Chrome | |
// 4. Improves appearance and consistency in all browsers | |
button, | |
input, | |
select, | |
textarea { | |
font-family: inherit; // 1 | |
font-size: 100%; // 2 | |
margin: 0; // 3 | |
vertical-align: baseline; // 4 | |
@if $legacy_support_for_ie { | |
*vertical-align: middle; // 4 | |
} | |
} | |
// Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet | |
button, input { | |
line-height: normal; | |
} | |
// 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 8+. | |
// Correct `select` style inheritance in Firefox 4+ and Opera. | |
button, | |
select { | |
text-transform: none; | |
} | |
// 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 IE7 without affecting normal text inputs | |
// Known issue: inner spacing remains in IE6 | |
button, | |
html input[type="button"], // 1 | |
input[type="reset"], | |
input[type="submit"] { | |
-webkit-appearance: button; // 2 | |
cursor: pointer; // 3 | |
@if $legacy_support_for_ie { | |
*overflow: visible; // 4 | |
} | |
} | |
// Re-set default cursor for disabled elements | |
button[disabled], | |
input[disabled] { | |
cursor: default; | |
} | |
// Removes inner padding and border in FF3+ | |
// www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/ | |
button, input { | |
&::-moz-focus-inner { | |
border: 0; | |
padding: 0; | |
} | |
} | |
// 1. Removes default vertical scrollbar in IE6/7/8/9 | |
// 2. Improves readability and alignment in all browsers | |
textarea { | |
overflow: auto; // 1 | |
vertical-align: top; // 2 | |
} | |
// ============================================================================= | |
// Tables | |
// ============================================================================= | |
// Remove most spacing between table cells | |
table { | |
border-collapse: collapse; | |
border-spacing: 0; | |
} | |
input { | |
// 1. Addresses appearance set to searchfield in S5, Chrome | |
// 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof) | |
&[type="search"] { | |
-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. | |
&::-webkit-search-cancel-button, | |
&::-webkit-search-decoration { | |
-webkit-appearance: none; | |
} | |
} | |
// 1. Address box sizing set to `content-box` in IE 8/9/10. | |
// 2. Remove excess padding in IE 8/9/10. | |
// 3. Removes excess padding in IE7 | |
// Known issue: excess padding remains in IE6 | |
&[type="checkbox"], | |
&[type="radio"] { | |
box-sizing: border-box; // 1 | |
padding: 0; // 2 | |
@if $legacy_support_for_ie { | |
*height: 13px; // 3 | |
*width: 13px; // 3 | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment