Jump to content
Fi8sVrs

normalize.css v2.0.1

Recommended Posts

  • Active Members
Posted

Normalize.css is a customisable CSS file that makes browsers render all elements more consistently and in line with modern standards. We researched the differences between default browser styles in order to precisely target only the styles that need normalizing.

Check out the demo

What does it do?

  • Preserves useful defaults, unlike many CSS resets.
  • Normalizes styles for a wide range of elements.
  • Corrects bugs and common browser inconsistencies.
  • Improves usability with subtle improvements.
  • Explains what code does using detailed comments.

How to use it

Normalize.css is intended to be used as an alternative to CSS resets.

It's suggested that you read the normalize.css file and consider customising it to meet your needs. Alternatively, include the file in your project and override the defaults later in your CSS.

Browser support

  • Google Chrome
  • Mozilla Firefox 4+
  • Apple Safari 5+
  • Opera 12+
  • Internet Explorer 8+

Download

Mirror:

  • component.json

{
"name": "normalize-css",
"version": "2.0.1",
"author": "Nicolas Gallagher",
"homepage": "http://necolas.github.com/normalize.css/",
"styles": ["normalize.css"],
"repository": {
"type": "git",
"url": "https://github.com/necolas/normalize.css.git"
},
"licenses": [{
"type": "MIT",
"url": "http://opensource.org/licenses/MIT"
}]
}

  • normalize.css

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */

/* ==========================================================================
HTML5 display definitions
========================================================================== */

/*
* Corrects `block` display not defined in IE 8/9.
*/

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
display: block;
}

/*
* Corrects `inline-block` display not defined in IE 8/9.
*/

audio,
canvas,
video {
display: inline-block;
}

/*
* 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 8/9.
*/

[hidden] {
display: none;
}

/* ==========================================================================
Base
========================================================================== */

/*
* 1. Sets default font family to sans-serif.
* 2. Prevents iOS text size adjust after orientation change, without disabling
* user zoom.
*/

html {
font-family: sans-serif; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}

/*
* Removes default margin.
*/

body {
margin: 0;
}

/* ==========================================================================
Links
========================================================================== */

/*
* Addresses `outline` inconsistency between Chrome and other browsers.
*/

a:focus {
outline: thin dotted;
}

/*
* Improves readability when focused and also mouse hovered in all browsers.
*/

a:active,
a:hover {
outline: 0;
}

/* ==========================================================================
Typography
========================================================================== */

/*
* Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
* Safari 5, and Chrome.
*/

h1 {
font-size: 2em;
}

/*
* Addresses styling not present in IE 8/9, Safari 5, and Chrome.
*/

abbr[title] {
border-bottom: 1px dotted;
}

/*
* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/

b,
strong {
font-weight: bold;
}

/*
* Addresses styling not present in Safari 5 and Chrome.
*/

dfn {
font-style: italic;
}

/*
* Addresses styling not present in IE 8/9.
*/

mark {
background: #ff0;
color: #000;
}


/*
* Corrects font family set oddly in Safari 5 and Chrome.
*/

code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}

/*
* Improves readability of pre-formatted text in all browsers.
*/

pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}

/*
* Sets consistent quote types.
*/

q {
quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
* 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;
}

/* ==========================================================================
Embedded content
========================================================================== */

/*
* Removes border when inside `a` element in IE 8/9.
*/

img {
border: 0;
}

/*
* Corrects overflow displayed oddly in IE 9.
*/

svg:not(:root) {
overflow: hidden;
}

/* ==========================================================================
Figures
========================================================================== */

/*
* Addresses margin not present in IE 8/9 and Safari 5.
*/

figure {
margin: 0;
}

/* ==========================================================================
Forms
========================================================================== */

/*
* 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 IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/

legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}

/*
* 1. Corrects font family not being inherited in all browsers.
* 2. Corrects font size not being inherited in all browsers.
* 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
*/

button,
input,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 2 */
margin: 0; /* 3 */
}

/*
* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/

button,
input {
line-height: normal;
}

/*
* 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.
*/

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],
input[disabled] {
cursor: default;
}

/*
* 1. Addresses box sizing set to `content-box` in IE 8/9.
* 2. Removes excess padding in IE 8/9.
*/

input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}

/*
* 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;
}

/*
* 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;
}

/*
* Removes inner padding and border in Firefox 4+.
*/

button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}

/*
* 1. Removes default vertical scrollbar in IE 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;
}

  • test.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Normalize CSS</title>
<link rel="stylesheet" href="normalize.css">
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<style>
#boxsize button,
#boxsize input,
#boxsize select,
#boxsize textarea {
width: 200px;
padding: 5px;
border: 1px solid #333;
}
</style>
</head>
<body>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>

<section>
<h1>Heading 1 (in section)</h1>
<h2>Heading 2 (in section)</h2>
<h3>Heading 3 (in section)</h3>
<h4>Heading 4 (in section)</h4>
<h5>Heading 5 (in section)</h5>
<h6>Heading 6 (in section)</h6>
</section>

<article>
<h1>Heading 1 (in article)</h1>
<h2>Heading 2 (in article)</h2>
<h3>Heading 3 (in article)</h3>
<h4>Heading 4 (in article)</h4>
<h5>Heading 5 (in article)</h5>
<h6>Heading 6 (in article)</h6>
</article>

<header>
<hgroup>
<h1>Heading 1 (in hgroup)</h1>
<h2>Heading 2 (in hgroup)</h2>
</hgroup>
<nav>
<ul>
<li><a href="#">navigation item #1</a></li>
<li><a href="#">navigation item #2</a></li>
<li><a href="#">navigation item #3</a></li>
</ul>
</nav>
</header>

<h1>Text-level semantics</h1>

<p hidden>This should be hidden in all browsers, apart from IE6</p>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.</p>

<address>Address: somewhere, world</address>

<p>
The <a href="#">a element</a> example<br>
The <abbr>abbr element</abbr> and <abbr title="Title text">abbr element with title</abbr> examples<br>
The <b>b element</b> example<br>
The <cite>cite element</cite> example<br>
The <code>code element</code> example<br>
The <del>del element</del> example<br>
The <dfn>dfn element</dfn> and <dfn title="Title text">dfn element with title</dfn> examples<br>
The <em>em element</em> example<br>
The <i>i element</i> example<br>
The img element <img src="http://lorempixel.com/16/16" alt=""> example<br>
The <ins>ins element</ins> example<br>
The <kbd>kbd element</kbd> example<br>
The <mark>mark element</mark> example<br>
The <q>q element <q>inside</q> a q element</q> example<br>
The <s>s element</s> example<br>
The <samp>samp element</samp> example<br>
The <small>small element</small> example<br>
The <span>span element</span> example<br>
The <strong>strong element</strong> example<br>
The <sub>sub element</sub> example<br>
The <sup>sup element</sup> example<br>
The <u>u element</u> example<br>
The <var>var element</var> example
</p>

<h1>Embedded content</h1>

<h3>audio</h3>

<audio controls></audio>
<audio></audio>

<h3>img</h3>

<img src="http://lorempixel.com/100/100" alt="">
<a href="#"><img src="http://lorempixel.com/100/100" alt=""></a>

<h3>svg</h3>

<svg width="100px" height="100px">
<circle cx="100" cy="100" r="100" fill="#ff0000" />
</svg>

<h3>video</h3>

<video controls></video>
<video></video>

<h1>Interactive content</h1>

<h3>details / summary</h3>
<details>
<summary>More info</summary>
<p>Additional information</p>
<ul>
<li>Point 1</li>
<li>Point 2</li>
</ul>
</details>

<h1>Grouping content</h1>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.</p>

<h3>pre</h3>

<pre>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me.</pre>

<pre><code><html>
<head>
</head>
<body>
<div class="main"> <div>
</body>
</html></code></pre>

<h3>blockquote</h3>

<blockquote>
<p>Some sort of famous witty quote marked up with a <blockquote> and a child <p> element.</p>
</blockquote>

<blockquote>Even better philosophical quote marked up with just a <blockquote> element.</blockquote>

<h3>ordered list</h3>

<ol>
<li>list item 1</li>
<li>list item 1
<ol>
<li>list item 2</li>
<li>list item 2
<ol>
<li>list item 3</li>
<li>list item 3</li>
</ol>
</li>
<li>list item 2</li>
<li>list item 2</li>
</ol>
</li>
<li>list item 1</li>
<li>list item 1</li>
</ol>

<h3>unordered list</h3>

<ul>
<li>list item 1</li>
<li>list item 1
<ul>
<li>list item 2</li>
<li>list item 2
<ul>
<li>list item 3</li>
<li>list item 3</li>
</ul>
</li>
<li>list item 2</li>
<li>list item 2</li>
</ul>
</li>
<li>list item 1</li>
<li>list item 1</li>
</ul>

<h3>description list</h3>

<dl>
<dt>Description name</dt>
<dd>Description value</dd>
<dt>Description name</dt>
<dd>Description value</dd>
<dd>Description value</dd>
<dt>Description name</dt>
<dt>Description name</dt>
<dd>Description value</dd>
</dl>

<h3>figure</h3>

<figure>
<img src="http://lorempixel.com/400/200" alt="">
<figcaption>Figcaption content</figcaption>
</figure>

<h1>Tabular data</h1>

<table>
<caption>Jimi Hendrix - albums</caption>
<thead>
<tr>
<th>Album</th>
<th>Year</th>
<th>Price</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Album</th>
<th>Year</th>
<th>Price</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Are You Experienced</td>
<td>1967</td>
<td>$10.00</td>
</tr>
<tr>
<td>Axis: Bold as Love</td>
<td>1967</td>
<td>$12.00</td>
</tr>
<tr>
<td>Electric Ladyland</td>
<td>1968</td>
<td>$10.00</td>
</tr>
<tr>
<td>Band of Gypsys</td>
<td>1970</td>
<td>$12.00</td>
</tr>
</tbody>
</table>

<h1>Forms</h1>

<form>
<fieldset>
<legend>Inputs as descendents of labels (form legend). This doubles up as a long legend that can test word wrapping.</legend>
<p><label>Text input <input type="text" value="default value that goes on and on without stopping or punctuation"></label></p>
<p><label>Email input <input type="email"></label></p>
<p><label>Search input <input type="search"></label></p>
<p><label>Tel input <input type="tel"></label></p>
<p><label>URL input <input type="url" placeholder="http://"></label></p>
<p><label>Password input <input type="password" value="password"></label></p>
<p><label>File input <input type="file"></label></p>

<p><label>Radio input <input type="radio" name="rad"></label></p>
<p><label>Checkbox input <input type="checkbox"></label></p>
<p><label><input type="radio" name="rad"> Radio input</label></p>
<p><label><input type="checkbox"> Checkbox input</label></p>

<p><label>Select field <select><option>Option 01</option><option>Option 02</option></select></label></p>
<p><label>Textarea <textarea cols="30" rows="5" >Textarea text</textarea></label></p>
</fieldset>

<fieldset>
<legend>Inputs as siblings of labels</legend>
<p><label for="ic">Color input</label> <input type="color" id="ic" value="#000000"></p>
<p><label for="in">Number input</label> <input type="number" id="in" min="0" max="10" value="5"></p>
<p><label for="ir">Range input</label> <input type="range" id="ir" value="10"></p>
<p><label for="idd">Date input</label> <input type="date" id="idd" value="1970-01-01"></p>
<p><label for="idm">Month input</label> <input type="month" id="idm" value="1970-01"></p>
<p><label for="idw">Week input</label> <input type="week" id="idw" value="1970-W01"></p>
<p><label for="idt">Datetime input</label> <input type="datetime" id="idt" value="1970-01-01T00:00:00Z"></p>
<p><label for="idtl">Datetime-local input</label> <input type="datetime-local" id="idtl" value="1970-01-01T00:00"></p>

<p><label for="irb">Radio input</label> <input type="radio" id="irb" name="rad"></p>
<p><label for="icb">Checkbox input</label> <input type="checkbox" id="icb"></p>
<p><input type="radio" id="irb2" name="rad"> <label for="irb2">Radio input</label></p>
<p><input type="checkbox" id="icb2"> <label for="icb2">Checkbox input</label></p>

<p><label for="s">Select field</label> <select id="s"><option>Option 01</option><option>Option 02</option></select></p>
<p><label for="t">Textarea</label> <textarea id="t" cols="30" rows="5" >Textarea text</textarea></p>
</fieldset>

<fieldset>
<legend>Clickable inputs and buttons</legend>
<p><input type="image" src="http://lorempixel.com/90/24" alt="Image (input)"></p>
<p><input type="reset" value="Reset (input)"></p>
<p><input type="button" value="Button (input)"></p>
<p><input type="submit" value="Submit (input)"></p>
<p><input type="submit" value="Disabled (input)" disabled></p>


<p><button type="reset">Reset (button)</button></p>
<p><button type="button">Button (button)</button></p>
<p><button type="submit">Submit (button)</button></p>
<p><button type="submit" disabled>Disabled (button)</button></p>
</fieldset>

<fieldset id="boxsize">
<legend>box-sizing tests</legend>
<div><input type="text" value="text"></div>
<div><input type="email" value="email"></div>
<div><input type="search" value="search"></div>
<div><input type="url" value="http://example.com"></div>
<div><input type="password" value="password"></div>

<div><input type="color" value="#000000"></div>
<div><input type="number" value="5"></div>
<div><input type="range" value="10"></div>
<div><input type="date" value="1970-01-01"></div>
<div><input type="month" value="1970-01"></div>
<div><input type="week" value="1970-W01"></div>
<div><input type="datetime" value="1970-01-01T00:00:00Z"></div>
<div><input type="datetime-local" value="1970-01-01T00:00"></div>

<div><input type="radio"></div>
<div><input type="checkbox"></div>

<div><select><option>Option 01</option><option>Option 02</option></select></div>
<div><textarea cols="30" rows="5">Textarea text</textarea></div>

<div><input type="image" src="http://lorempixel.com/90/24" alt="Image (input)"></div>
<div><input type="reset" value="Reset (input)"></div>
<div><input type="button" value="Button (input)"></div>
<div><input type="submit" value="Submit (input)"></div>

<div><button type="reset">Reset (button)</button></div>
<div><button type="button">Button (button)</button></div>
<div><button type="submit">Submit (button)</button></div>
</fieldset>
</form>

</body>
</html>

Contribute

Please read my issue guidelines.

Acknowledgements

Normalize.css is a project by Nicolas Gallagher and Jonathan Neal.

Source:

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...