2014-01-28 17:57:23 +00:00
|
|
|
|
# normalize.css v3
|
2011-04-28 05:56:02 +00:00
|
|
|
|
|
2012-07-08 22:43:00 +00:00
|
|
|
|
Normalize.css is a customisable CSS file that makes browsers render all
|
2013-08-16 02:46:33 +00:00
|
|
|
|
elements more consistently and in line with modern standards.
|
2011-04-28 05:56:02 +00:00
|
|
|
|
|
2013-08-16 02:46:33 +00:00
|
|
|
|
The project relies on researching the differences between default browser
|
|
|
|
|
styles in order to precisely target only the styles that need or benefit from
|
|
|
|
|
normalizing.
|
2011-04-28 05:56:02 +00:00
|
|
|
|
|
2014-01-26 04:53:05 +00:00
|
|
|
|
[View the test file](http://necolas.github.io/normalize.css/latest/test.html)
|
2013-03-27 22:53:30 +00:00
|
|
|
|
|
|
|
|
|
## Install
|
|
|
|
|
|
2014-07-22 17:56:31 +00:00
|
|
|
|
* [npm](http://npmjs.org/): `npm install --save normalize.css`
|
|
|
|
|
* [Component(1)](https://github.com/component/component/): `component install necolas/normalize.css`
|
|
|
|
|
* [Bower](http://bower.io/): `bower install --save normalize.css`
|
2015-03-17 18:48:59 +00:00
|
|
|
|
* [cdnjs](https://cdnjs.com/libraries/normalize)
|
2014-07-22 17:56:31 +00:00
|
|
|
|
* [Download](http://necolas.github.io/normalize.css/latest/normalize.css).
|
2013-03-27 22:53:30 +00:00
|
|
|
|
|
2014-07-22 17:56:31 +00:00
|
|
|
|
No other styles should come before Normalize.css.
|
2014-02-17 04:08:25 +00:00
|
|
|
|
|
2014-07-22 17:56:31 +00:00
|
|
|
|
It is recommended that you include the `normalize.css` file as untouched
|
|
|
|
|
library code.
|
2013-08-16 04:52:25 +00:00
|
|
|
|
|
2012-08-07 21:27:32 +00:00
|
|
|
|
## What does it do?
|
2011-06-21 01:06:55 +00:00
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
2012-08-07 21:27:32 +00:00
|
|
|
|
## Browser support
|
2011-04-28 05:56:02 +00:00
|
|
|
|
|
2014-01-26 04:53:05 +00:00
|
|
|
|
* Google Chrome (latest)
|
|
|
|
|
* Mozilla Firefox (latest)
|
2015-03-30 21:14:59 +00:00
|
|
|
|
* Mozilla Firefox ESR
|
2014-01-26 04:53:05 +00:00
|
|
|
|
* Opera (latest)
|
|
|
|
|
* Apple Safari 6+
|
2012-08-16 21:34:39 +00:00
|
|
|
|
* Internet Explorer 8+
|
2011-04-28 16:57:14 +00:00
|
|
|
|
|
2013-08-16 02:46:33 +00:00
|
|
|
|
[Normalize.css v1 provides legacy browser
|
|
|
|
|
support](https://github.com/necolas/normalize.css/tree/v1) (IE 6+, Safari 4+),
|
|
|
|
|
but is no longer actively developed.
|
|
|
|
|
|
2014-07-22 17:56:31 +00:00
|
|
|
|
## Extended details
|
|
|
|
|
|
|
|
|
|
Additional detail and explanation of the esoteric parts of normalize.css.
|
|
|
|
|
|
|
|
|
|
#### `pre, code, kbd, samp`
|
|
|
|
|
|
|
|
|
|
The `font-family: monospace, monospace` hack fixes the inheritance and scaling
|
|
|
|
|
of font-size for preformated text. The duplication of `monospace` is
|
|
|
|
|
intentional. [Source](http://en.wikipedia.org/wiki/User:Davidgothberg/Test59).
|
|
|
|
|
|
|
|
|
|
#### `sub, sup`
|
|
|
|
|
|
|
|
|
|
Normally, using `sub` or `sup` affects the line-box height of text in all
|
|
|
|
|
browsers. [Source](http://gist.github.com/413930).
|
|
|
|
|
|
|
|
|
|
#### `svg:not(:root)`
|
|
|
|
|
|
|
|
|
|
Adding `overflow: hidden` fixes IE9's SVG rendering. Earlier versions of IE
|
|
|
|
|
don't support SVG, so we can safely use the `:not()` and `:root` selectors that
|
|
|
|
|
modern browsers use in the default UA stylesheets to apply this style. [SVG
|
|
|
|
|
Mailing List discussion](http://lists.w3.org/Archives/Public/public-svg-wg/2008JulSep/0339.html)
|
|
|
|
|
|
|
|
|
|
#### `input[type="search"]`
|
|
|
|
|
|
|
|
|
|
The search input is not fully stylable by default. In Chrome and Safari on
|
|
|
|
|
OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
|
|
|
|
|
Chrome and Safari on Windows you can't control `border` properly. It will apply
|
|
|
|
|
`border-width` but will only show a border color (which cannot be controlled)
|
|
|
|
|
for the outer 1px of that border. Applying `-webkit-appearance: textfield`
|
|
|
|
|
addresses these issues without removing the benefits of search inputs (e.g.
|
|
|
|
|
showing past searches).
|
|
|
|
|
|
|
|
|
|
#### `legend`
|
|
|
|
|
|
|
|
|
|
Adding `border: 0` corrects an IE 8–11 bug where `color` (yes, `color`) is not
|
|
|
|
|
inherited by `legend`.
|
|
|
|
|
|
2013-08-16 02:46:33 +00:00
|
|
|
|
## Contributing
|
2012-04-10 22:59:06 +00:00
|
|
|
|
|
2013-03-29 03:30:19 +00:00
|
|
|
|
Please read the CONTRIBUTING.md
|
2012-04-10 22:59:06 +00:00
|
|
|
|
|
2012-08-07 21:27:32 +00:00
|
|
|
|
## Acknowledgements
|
2011-04-28 16:57:14 +00:00
|
|
|
|
|
2013-01-21 01:34:29 +00:00
|
|
|
|
Normalize.css is a project by [Nicolas Gallagher](https://github.com/necolas),
|
|
|
|
|
co-created with [Jonathan Neal](https://github.com/jonathantneal).
|