MIT License | git.io/normalize
Copyright (c) Nicolas Gallagher and Jonathan Neal
Remove default margin.
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
body {
margin: 0;
}
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.
inline-block
display not defined in IE 8/9.progress
in Chrome, Firefox, and Opera.Prevent modern browsers from displaying audio
without controls.
Remove excess height in iOS 5 devices.
Address [hidden]
styling not present in IE 8/9/10.
Hide the template
element in IE 8/9/10/11, Safari, and Firefox < 22.
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
audio:not([controls]) {
display: none;
height: 0;
}
[hidden],
template {
display: none;
}
Remove the gray background color from active links in IE 10.
Improve readability of focused elements when they are also in an active/hover state.
a {
background-color: transparent;
}
a:active,
a:hover {
outline: 0;
}
Address styling not present in IE 8/9/10/11, Safari, and Chrome.
Address style set to bolder
in Firefox 4+, Safari, and Chrome.
Address styling not present in Safari and Chrome.
Address variable h1
font-size and margin within section
and article
contexts in Firefox 4+, Safari, and Chrome.
Address styling not present in IE 8/9.
Address inconsistent and variable font size in all browsers.
Prevent sub
and sup
affecting line-height
in all browsers.
abbr[title] {
border-bottom: 1px dotted;
}
b,
strong {
font-weight: bold;
}
dfn {
font-style: italic;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
mark {
background: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
Remove border when inside a
element in IE 8/9/10.
Correct overflow not hidden in IE 9/10/11.
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
Address margin not present in IE 8/9 and Safari.
Address differences between Firefox and other browsers.
Contain overflow in all browsers.
Address odd em
-unit font size rendering in all browsers.
figure {
margin: 1em 40px;
}
hr {
box-sizing: content-box;
height: 0;
}
pre {
overflow: auto;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
Known limitation: by default, Chrome and Safari on OS X allow very limited
styling of select
, unless a border
property is set.
Address overflow
set to hidden
in IE 8/9/10/11.
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.
audio
and video
controls.input
types in iOS.input
and others.Re-set default cursor for disabled elements.
Remove inner padding and border in Firefox 4+.
Address Firefox 4+ setting line-height
on input
using !important
in
the UA stylesheet.
It's recommended that you don't attempt to style these elements. Firefox's implementation doesn't respect box-sizing, padding, or width. *
content-box
in IE 8/9/10.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
.
appearance
set to searchfield
in Safari and Chrome.box-sizing
set to border-box
in Safari and Chrome.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).
Define consistent border, margin, and padding.
color
not being inherited in IE 8/9/10/11.Remove default vertical scrollbar in IE 8/9/10/11.
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.
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
button {
overflow: visible;
}
button,
select {
text-transform: none;
}
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
button[disabled],
html input[disabled] {
cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
input {
line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
box-sizing: content-box; /* 2 */
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
textarea {
overflow: auto;
}
optgroup {
font-weight: bold;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}