diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..4039ff111
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 2
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..5e26201fb
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+normalize.css linguist-vendored=false
+test.html linguist-vendored
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..3c3629e64
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..833d09d14
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,3 @@
+language: node_js
+node_js:
+ - stable
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..922f6e38c
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,175 @@
+# Changes to normalize.css
+
+### 8.0.1 (November 4, 2018)
+
+* Fix regression in IE rendering of `main` element.
+
+### 8.0.0 (February 2, 2018)
+
+* Remove support for older browsers Android 4, lte IE 9, lte Safari 7.
+* Don't remove search input cancel button in Chrome/Safari.
+* Form inputs inherit `font-family`.
+* Fix text decoration in Safari 8+.
+
+### 7.0.0 (May 2, 2017)
+
+* Revert changes in `body` and form elements styles introduced by v6
+
+### 6.0.0 (March 26, 2017)
+
+* Remove all opinionated rules
+* Correct document heading comment
+* Update `abbr[title]` support
+
+### 5.0.0 (October 3, 2016)
+
+* Add normalized sections not already present from
+ https://html.spec.whatwg.org/multipage/.
+* Move unsorted rules into their respective sections.
+* Update the `summary` style in all browsers.
+* Remove `::placeholder` styles due to a bug in Edge.
+* More explicitly define font resets on form controls.
+* Remove the `optgroup` normalization needed by the previous font reset.
+* Update text-size-adjust documentation
for IE on Windows Phone
+* Update OS X reference to macOS
+* Update the semver strategy.
+
+### 4.2.0 (June 30, 2016)
+
+* Correct the `line-height` in all browsers.
+* Restore `optgroup` font inheritance.
+* Update normalize.css heading.
+
+### 4.1.1 (April 12, 2016)
+
+* Update normalize.css heading.
+
+### 4.1.0 (April 11, 2016)
+
+* Normalize placeholders in Chrome, Edge, and Safari.
+* Normalize `text-decoration-skip` property in Safari.
+* Normalize file select buttons.
+* Normalize search input outlines in Safari.
+* Limit Firefox focus normalizations to buttons.
+* Restore `main` to package.json.
+* Restore proper overflow to certain `select` elements.
+* Remove opinionated cursor styles on buttons.
+* Update stylelint configuration.
+* Update tests.
+
+### 4.0.0 (March 19, 2016)
+
+* Add the correct font weight for `b` and `strong` in Chrome, Edge, and Safari.
+* Correct inconsistent `overflow` for `hr` in Edge and IE.
+* Correct inconsistent `box-sizing` for `hr` in Firefox.
+* Correct inconsistent `text-decoration` and `border-bottom` for `abbr[title]`
+ in Chrome, Edge, Firefox IE, Opera, and Safari.
+* Correct inheritance and scaling of `font-size` for preformatted text.
+* Correct `legend` text wrapping not present in Edge and IE.
+* Remove unnecessary normalization of `line-height` for `input`.
+* Remove unnecessary normalization of `color` for form controls.
+* Remove unnecessary `box-sizing` for `input[type="search"]` in Chrome, Edge,
+ Firefox, IE, and Safari.
+* Remove opinionated table resets.
+* Remove opinionated `pre` overflow.
+* Remove selector weight from some input selectors.
+* Update normalization of `border-style` for `img`.
+* Update normalization of `color` inheritance for `legend`.
+* Update normalization of `background-color` for `mark`.
+* Update normalization of `outline` for `:-moz-focusring` removed by a previous
+ normalization in Firefox.
+* Update opinionated style of `outline-width` for `a:active` and `a:hover`.
+* Update comments to identify opinionated styles.
+* Update comments to specify browser/versions affected by all changes.
+* Update comments to use one voice.
+
+---
+
+### 3.0.3 (March 30, 2015)
+
+* Remove unnecessary vendor prefixes.
+* Add `main` property.
+
+### 3.0.2 (October 4, 2014)
+
+* Only alter `background-color` of links in IE 10.
+* Add `menu` element to HTML5 display definitions.
+
+### 3.0.1 (March 27, 2014)
+
+* Add package.json for npm support.
+
+### 3.0.0 (January 28, 2014)
+
+### 3.0.0-rc.1 (January 26, 2014)
+
+* Explicit tests for each normalization.
+* Fix i18n for `q` element.
+* Fix `pre` text formatting and overflow.
+* Fix vertical alignment of `progress`.
+* Address `button` overflow in IE 8/9/10.
+* Revert `textarea` alignment modification.
+* Fix number input button cursor in Chrome on OS X.
+* Remove `a:focus` outline normalization.
+* Fix `figure` margin normalization.
+* Normalize `optgroup`.
+* Remove default table cell padding.
+* Set correct display for `progress` in IE 8/9.
+* Fix `font` and `color` inheritance for forms.
+
+---
+
+### 2.1.3 (August 26, 2013)
+
+* Fix component.json.
+* Remove the gray background color from active links in IE 10.
+
+### 2.1.2 (May 11, 2013)
+
+* Revert root `color` and `background` normalizations.
+
+### 2.1.1 (April 8, 2013)
+
+* Normalize root `color` and `background` to counter the effects of system
+ color schemes.
+
+### 2.1.0 (January 21, 2013)
+
+* Normalize `text-transform` for `button` and `select`.
+* Normalize `h1` margin when within HTML5 sectioning elements.
+* Normalize `hr` element.
+* Remove unnecessary `pre` styles.
+* Add `main` element to HTML5 display definitions.
+* Fix cursor style for disabled button `input`.
+
+### 2.0.1 (August 20, 2012)
+
+* Remove stray IE 6/7 `inline-block` hack from HTML5 display settings.
+
+### 2.0.0 (August 19, 2012)
+
+* Remove legacy browser form normalizations.
+* Remove all list normalizations.
+* Add `quotes` normalizations.
+* Remove all heading normalizations except `h1` font size.
+* Form elements automatically inherit `font-family` from ancestor.
+* Drop support for IE 6/7, Firefox < 4, and Safari < 5.
+
+---
+
+### 1.0.1 (August 19, 2012)
+
+* Adjust `small` font size normalization.
+
+### 1.0.0 (August 14, 2012)
+
+(Only the notable changes since public release)
+
+* Add MIT License.
+* Hide `audio` elements without controls in iOS 5.
+* Normalize heading margins and font size.
+* Move font-family normalization from `body` to `html`.
+* Remove scrollbar normalization.
+* Remove excess padding from checkbox and radio inputs in IE 7.
+* Add IE9 correction for SVG overflow.
+* Add fix for legend not inheriting color in IE 6/7/8/9.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..fa84fa956
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,197 @@
+# Contributing to normalize.css
+
+Please take a moment to review this document in order to make the contribution
+process easy and effective for everyone involved.
+
+Following these guidelines helps to communicate that you respect the time of
+the developers managing and developing this open source project. In return,
+they should reciprocate that respect in addressing your issue or assessing
+patches and features.
+
+
+## Using the issue tracker
+
+The issue tracker is the preferred channel for [bug reports](#bugs),
+[features requests](#features) and [submitting pull
+requests](#pull-requests), but please respect the following restrictions:
+
+* Please **do not** use the issue tracker for personal support requests.
+
+* Please **do not** derail or troll issues. Keep the discussion on topic and
+ respect the opinions of others.
+
+
+## Bug reports
+
+A bug is a _demonstrable problem_ that is caused by the code in the repository.
+Good bug reports are extremely helpful - thank you!
+
+Guidelines for bug reports:
+
+1. **Use the GitHub issue search** – check if the issue has already been
+ reported.
+
+2. **Check if the issue has been fixed** – try to reproduce it using the
+ latest `master` branch in the repository.
+
+3. **Isolate the problem** – create a live example (e.g., on
+ [Codepen](http://codepen.io)) of a [reduced test
+ case](http://css-tricks.com/6263-reduced-test-cases/).
+
+A good bug report shouldn't leave others needing to chase you up for more
+information. Please try to be as detailed as possible in your report. What is
+your environment? What steps will reproduce the issue? What browser(s) and OS
+experience the problem? What would you expect to be the outcome? All these
+details will help people to fix any potential bugs.
+
+Example:
+
+> Short and descriptive example bug report title
+>
+> A summary of the issue and the browser/OS environment in which it occurs. If
+> suitable, include the steps required to reproduce the bug.
+>
+> 1. This is the first step
+> 2. This is the second step
+> 3. Further steps, etc.
+>
+> `` - a link to the reduced test case
+>
+> Any other information you want to share that is relevant to the issue being
+> reported. This might include the lines of code that you have identified as
+> causing the bug, and potential solutions (and your opinions on their
+> merits).
+
+
+## Feature requests
+
+Feature requests are welcome. But take a moment to find out whether your idea
+fits with the scope and aims of the project. It's up to *you* to make a strong
+case to convince the project's developers of the merits of this feature. Please
+provide as much detail and context as possible.
+
+
+## Pull requests
+
+Good pull requests - patches, improvements, new features - are a fantastic
+help. They should remain focused in scope and avoid containing unrelated
+commits.
+
+**Please ask first** before embarking on any significant work, otherwise you
+risk spending a lot of time working on something that the project's developers
+might not want to merge into the project.
+
+Please adhere to the coding conventions used throughout a project (whitespace,
+accurate comments, etc.) and any other requirements (such as test coverage).
+
+Follow this process if you'd like your work considered for inclusion in the
+project:
+
+1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your
+ fork, and configure the remotes:
+
+ ```bash
+ # Clone your fork of the repo into the current directory
+ git clone https://github.com//normalize.css
+ # Navigate to the newly cloned directory
+ cd normalize.css
+ # Assign the original repo to a remote called "upstream"
+ git remote add upstream https://github.com/necolas/normalize.css
+ ```
+
+2. If you cloned a while ago, get the latest changes from upstream:
+
+ ```bash
+ git checkout master
+ git pull upstream master
+ ```
+
+3. Never work directly on `master`. Create a new topic branch (off the latest
+ version of `master`) to contain your feature, change, or fix:
+
+ ```bash
+ git checkout -b
+ ```
+
+4. Commit your changes in logical chunks. Please adhere to these [git commit
+ message conventions](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
+ or your code is unlikely be merged into the main project. Use Git's
+ [interactive rebase](https://help.github.com/articles/interactive-rebase)
+ feature to tidy up your commits before making them public.
+
+ Be sure to add a test to the `test.html` file if appropriate, and test
+ your change in all supported browsers.
+
+5. Locally rebase the upstream development branch into your topic branch:
+
+ ```bash
+ git pull --rebase upstream master
+ ```
+
+6. Push your topic branch up to your fork:
+
+ ```bash
+ git push origin
+ ```
+
+10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
+ with a clear title and description.
+
+**IMPORTANT**: By submitting a patch, you agree to allow the project owner to
+license your work under the same license as that used by the project.
+
+### CSS Conventions
+
+Keep the CSS file as readable as possible by following these guidelines:
+
+- Comments are short and to the point.
+- Comments without a number reference the entire rule.
+- Comments describe the selector when the selector does not make the
+ normalization obvious.
+- Comments begin with “Correct the...” when they deal with less obvious side
+ effects.
+- Rules are sorted by cascade, specificity, and then alphabetic order.
+- Selectors are sorted by specificity and then alphabetic order.
+- `in browser` applies to all versions.
+- `in browser v-` applies to all versions up to and including the version.
+- `in browser v+` applies to all versions after and including the version.
+- `in browser v-v` applies to all versions including and between the versions.
+
+
+## Maintainers
+
+If you have commit access, please follow this process for merging patches and
+cutting new releases.
+
+### Accepting patches
+
+1. Check that a patch is within the scope and philosophy of the project.
+2. Check that a patch has any necessary tests and a proper, descriptive commit
+ message.
+3. Test the patch locally.
+4. Do not use GitHub's merge button. Apply the patch to `master` locally
+ (either via `git am` or by checking the whole branch out). Amend minor
+ problems with the author's original commit if necessary. Then push to GitHub.
+
+### Releasing a new version
+
+1. Include all new functional changes in the CHANGELOG.
+2. Use a dedicated commit to increment the version. The version needs to be
+ added to the CHANGELOG (inc. date), the `package.json`, and `normalize.css`
+ files.
+3. The commit message must be of `v0.0.0` format.
+4. Create an annotated tag for the version: `git tag -m "v0.0.0" 0.0.0`.
+5. Push the changes and tags to GitHub: `git push --tags origin master`
+6. Checkout the `gh-pages` branch and follow the instructions in the README.
+
+### Semver strategy
+
+[Semver](http://semver.org/) is a widely accepted method for deciding how
+version numbers are incremented in a project. Versions are written as
+MAJOR.MINOR.PATCH.
+
+Any change to CSS rules whatsoever is considered backwards-breaking and will
+result in a new **major** release. No changes to CSS rules can add
+functionality in a backwards-compatible manner, therefore no changes are
+considered **minor**. Others changes with no impact on rendering are considered
+backwards-compatible and will result in a new **patch** release.
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 000000000..43b5ddcc9
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,21 @@
+# The MIT License (MIT)
+
+Copyright © Nicolas Gallagher and Jonathan Neal
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index c1e84d028..71954f230 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,102 @@
-normalize.css
-=============
+# normalize.css
-normalize.css makes browsers render all elements more consistently and in line with modern standards.
+
-CSS normalization is distinct from CSS resets. It tackles common cross-browser inconsistencies and bugs without erasing useful browser defaults; and there is no visual homogenization of elements with distinct semantics.
+> A modern alternative to CSS resets
-The `normalize.css` file is not intended to be a mysterious "black box" that is included in a project and then ignored. It is heavily commented to help expose the purpose of specific styles. You are encouraged to edit, customise, add to, and remove rulesets in order to meet the design requirements of a project.
+[![npm][npm-image]][npm-url] [![license][license-image]][license-url]
+[![changelog][changelog-image]][changelog-url]
+[![gitter][gitter-image]][gitter-url]
-If you prefer to use a different CSS formatting style, consider using a tool like [Procssor](http://procssor.com/).
-Browser support
------------
+**NPM**
-* Google Chrome
-* Mozilla Firefox 3+
-* Apple Safari 4+
-* Opera 10+
-* Internet Explorer 6+
+```sh
+npm install --save normalize.css
+```
-Links
-------------
+**CDN**
-[Jonathan Neal's normalize.css](https://github.com/jonathantneal/normalize.css)
\ No newline at end of file
+See https://yarnpkg.com/en/package/normalize.css
+
+**Download**
+
+See https://necolas.github.io/normalize.css/latest/normalize.css
+
+
+## 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 modifications.
+* Explains what code does using detailed comments.
+
+
+## Browser support
+
+* Chrome
+* Edge
+* Firefox ESR+
+* Internet Explorer 10+
+* Safari 8+
+* Opera
+
+
+## Extended details and known issues
+
+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 preformatted text. The duplication of `monospace` is
+intentional. [Source](https://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](https://gist.github.com/413930).
+
+#### `select`
+
+By default, Chrome on OS X and Safari on OS X allow very limited styling of
+`select`, unless a border property is set. The default font weight on `optgroup`
+elements cannot safely be changed in Chrome on OSX and Safari on OS X.
+
+#### `[type="checkbox"]`
+
+It is recommended that you do not style checkbox and radio inputs as Firefox's
+implementation does not respect box-sizing, padding, or width.
+
+#### `[type="number"]`
+
+Certain font size values applied to number inputs cause the cursor style of the
+decrement button to change from `default` to `text`.
+
+#### `[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).
+
+## Contributing
+
+Please read the [contribution guidelines](CONTRIBUTING.md) in order to make the
+contribution process easy and effective for everyone involved.
+
+
+[changelog-image]: https://img.shields.io/badge/changelog-md-blue.svg?style=flat-square
+[changelog-url]: CHANGELOG.md
+[license-image]: https://img.shields.io/npm/l/normalize.css.svg?style=flat-square
+[license-url]: LICENSE.md
+[npm-image]: https://img.shields.io/npm/v/normalize.css.svg?style=flat-square
+[npm-url]: https://www.npmjs.com/package/normalize.css
+[gitter-image]: https://img.shields.io/badge/chat-gitter-blue.svg?style=flat-square
+[gitter-url]: https://gitter.im/necolas/normalize.css
diff --git a/demo.html b/demo.html
deleted file mode 100644
index a536f7fbc..000000000
--- a/demo.html
+++ /dev/null
@@ -1,297 +0,0 @@
-
-
-
-
-
- Normalize CSS
-
-
-
-
-
-
-
- Grouped Heading 1
- Grouped Heading 2
-
-
-
-
-
-
- Heading 1
- Heading 2
- Heading 3
- Heading 4
- Heading 5
- Heading 6
-
-
- Section Heading 1
-
- Article Heading 2
- Address: somewhere, world
- 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.
- 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.
-
-
-
- Text-level semantics
-
-
- The a element example
- The abbr element example
- The b element example
- The cite element example
- The code element example
- The del element example
- The dfn element example
- The em element example
- The i element example
- The img element example
- The ins element example
- The kbd element example
- The mark element example
- The q element inside a q element example
- The s element example
- The samp element example
- The small element example
- The span element example
- The strike element example
- The strong element example
- The sub element example
- The sup element example
- The var element example
- The u element example
-
-
- Grouping content
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.
-
- pre
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me.
- <html>
- <head>
- </head>
- <body>
- <div class="main"> <div>
- </body>
-</html>
-
- blockquote
-
-
- Some sort of famous witty quote marked up with a <blockquote> and a child <p> element.
-
-
- Even better philosophical quote marked up with just a <blockquote> element.
-
- ordered list
-
-
- list item 1
- list item 1
-
- list item 2
- list item 2
-
- list item 3
- list item 3
-
-
- list item 2
- list item 2
-
-
- list item 1
- list item 1
-
-
- unordered list
-
-
- list item 1
- list item 1
-
- list item 2
- list item 2
-
- list item 3
- list item 3
-
-
- list item 2
- list item 2
-
-
- list item 1
- list item 1
-
-
- description list
-
-
- Description name
- Description value
- Description name
- Description value
- Description value
- Description name
- Description name
- Description value
-
-
- figure
-
-
-
- Figcaption content
-
-
- Tabular data
-
-
- Jimi Hendrix - albums
-
-
- Album
- Year
- Price
-
-
-
-
- Album
- Year
- Price
-
-
-
-
- Are You Experienced
- 1967
- $10.00
-
-
- Axis: Bold as Love
- 1967
- $12.00
-
-
- Electric Ladyland
- 1968
- $10.00
-
-
- Band of Gypsys
- 1970
- $12.00
-
-
-
-
- Forms
-
-
-
-
-
\ No newline at end of file
diff --git a/normalize.css b/normalize.css
index 6c84bfa89..192eb9ce4 100644
--- a/normalize.css
+++ b/normalize.css
@@ -1,440 +1,349 @@
-/* =============================================================================
- HTML5 element display
- ========================================================================== */
-
-/*
- * Add display for block-level HTML5 elements
- * Addresses display not defined in IE6/7/8/9 & FF3
- */
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section {
- display: block;
-}
-
-/*
- * Add display for embedded HTML5 elements
- * Addresses display not defined in IE6/7/8/9 & FF3
- */
-
-audio[controls],
-canvas,
-video {
- display: inline-block;
- *display: inline;
- *zoom: 1;
-}
-
-
-/* =============================================================================
- Base
+/* Document
========================================================================== */
-/*
- * 1. Add font size
- * Addresses text resizing oddly in IE6/7 when body font-size is set using em units
- * http://clagnut.com/blog/348/#c790
- * 2. Add vertical scrollbar
- * Keeps page centred in all browsers regardless of content height
- * 3. Remove Android and iOS tap highlight color to prevent entire container being highlighted
- * www.yuiblog.com/blog/2010/10/01/quick-tip-customizing-the-mobile-safari-tap-highlight-color/
- * 4. Remove iOS text size adjust without disabling user zoom
- * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
- font-size: 100%; /* 1 */
- overflow-y: scroll; /* 2 */
- -webkit-tap-highlight-color: rgba(0,0,0,0); /* 3 */
- -webkit-text-size-adjust: 100%; /* 4 */
- -ms-text-size-adjust: 100%; /* 4 */
+ line-height: 1.15; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
}
-/*
- * Remove margin
- * Addresses margins handled incorrectly in IE6/7
+/* Sections
+ ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
*/
body {
- margin: 0;
+ margin: 0;
}
-/*
- * Define base font-family
- * Addresses font-family inconsistency between and other form elements.
+/**
+ * Render the `main` element consistently in IE.
*/
-body,
-button,
-input,
-select,
-textarea {
- font-family: sans-serif;
+main {
+ display: block;
}
-/*
- * 1. Remove border
- * Improves readability when inside element in all browsers
- * 2. Allow high quality bicubic image resampling
- * Improves readability when scaled in IE7
- * Read before using : code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
*/
-img {
- border: 0; /* 1 */
- -ms-interpolation-mode: bicubic; /* 2 */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
}
-
-/* =============================================================================
- Links
+/* Grouping content
========================================================================== */
-a {
- color: #00e;
-}
-
-a:visited {
- color: #551a8b;
-}
-
-/*
- * Define outline as thin dotted
- * Addresses outline displayed oddly in Chrome
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
*/
-a:focus {
- outline: thin dotted;
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
}
-/*
- * Remove outline
- * Improves readability when focused and also mouse hovered in all browsers
- * people.opera.com/patrickl/experiments/keyboard/test
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
*/
-a:hover,
-a:active {
- outline: 0;
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
}
-
-/* =============================================================================
- Typography
+/* Text-level semantics
========================================================================== */
-/*
- * Add bottom border
- * Fixes styling not present in IE7/8/9 S5 Chrome
+/**
+ * Remove the gray background on active links in IE 10.
*/
-abbr[title] {
- border-bottom: 1px dotted;
-}
-
-/*
- * Add bold font weight
- * Fixes style set to 'bolder' in FF3/4 S4/5 Chrome
-*/
-
-b,
-strong {
- font-weight: bold;
-}
-
-blockquote {
- margin: 1em 40px;
+a {
+ background-color: transparent;
}
-/*
- * Add italic font style
- * Fixes styling not present in S5 Chrome
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
-dfn {
- font-style: italic;
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
}
-/*
- * Add yellow background and black text
- * Fixes styling not present in IE6/7/8/9
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
*/
-mark {
- background: #ff0;
- color: #000;
+b,
+strong {
+ font-weight: bolder;
}
-/*
- * Redeclare monospace font family
- * en.wikipedia.org/wiki/User:Davidgothberg/Test59
- * 1. Fixes font family set oddly in S5 Chrome
- * 2. Fixes monospace font family set oddly in IE6
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
*/
-pre,
code,
kbd,
samp {
- font-family: monospace, monospace; /* 1 */
- _font-family: 'courier new', monospace; /* 2 */
- font-size: 1em;
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
}
-/*
- * Add line wrapping
- * Improves readability of pre-formatted text in all browsers
+/**
+ * Add the correct font size in all browsers.
*/
-pre {
- white-space: pre;
- white-space: pre-wrap;
- word-wrap: break-word;
+small {
+ font-size: 80%;
}
-/*
- * Remove quotes
- * 1. Addresses CSS quotes not supported in IE6/7
- * 2. Addresses quote property not supported in S4
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
*/
-/* 1 */
-
-q {
- quotes: none;
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
}
-/* 2 */
+sub {
+ bottom: -0.25em;
+}
-q:before,
-q:after {
- content: '';
- content: none;
+sup {
+ top: -0.5em;
}
-/*
- * Define font-size
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
*/
-small {
- font-size: 75%;
+img {
+ border-style: none;
}
-/*
- * Position subscript and superscript content without affecting line-height
- * Fixes alignment within multi-line text displayed oddly in all browsers
- * gist.github.com/413930
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
*/
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
}
-sup {
- top: -0.5em;
-}
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
-sub {
- bottom: -0.25em;
+button,
+input { /* 1 */
+ overflow: visible;
}
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
-/* =============================================================================
- Lists
- ========================================================================== */
-
-ul,
-ol {
- margin: 1em 0;
- padding: 0 0 0 40px;
+button,
+select { /* 1 */
+ text-transform: none;
}
-dd {
- margin: 0 0 0 40px;
-}
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
-nav ul,
-nav ol {
- list-style: none;
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
}
-
-/* =============================================================================
- Figures
- ========================================================================== */
-
-/*
- * Remove margin
- * Addresses margin not present in IE6/7/8/9, S5, O11
+/**
+ * Remove the inner border and padding in Firefox.
*/
-figure {
- margin: 0;
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
}
-
-/* =============================================================================
- Forms
- ========================================================================== */
-
-/*
- * Remove margin
- * Fixes styling in IE6/7
+/**
+ * Restore the focus styles unset by the previous rule.
*/
-form {
- margin: 0;
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
}
-/*
- * Define consistent margin and padding
+/**
+ * Correct the padding in Firefox.
*/
fieldset {
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
+ padding: 0.35em 0.75em 0.625em;
}
-/*
- * Add negative left margin
- * Fixes alignment displayed oddly in IE6/7
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
*/
legend {
- *margin-left: -7px;
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
}
-/*
- * 1. Define font-size as equal to ancestor's
- * 2. Remove margin
- * Fixes different margins set in FF3/4 S5 Chrome
- * 3. Define consistent vertical alignment display in all browsers
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
*/
-button,
-input,
-select,
textarea {
- font-size: 100%; /* 1 */
- margin: 0; /* 2 */
- vertical-align: baseline; /* 3 */
- *vertical-align: middle; /* 3 */
+ overflow: auto;
}
-/*
- * 1. Define line-height as normal
- * Addresses FF3/4 setting it using !important in the UA stylesheet
- * 2. Make overflow visible
- * Fixes spacing displayed oddly in IE6/7
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
*/
-button,
-input {
- line-height: normal; /* 1 */
- *overflow: visible; /* 2 */
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
}
-/*
- * 1. Display hand cursor for clickable form elements
- * Improves usability and consistency of cursor style between image-type and others
- * 2. Define appearance for clickable form elements
- * Fixes inability to style clickable types in iOS
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
*/
-button,
-input[type="button"],
-input[type="reset"],
-input[type="submit"] {
- cursor: pointer; /* 1 */
- -webkit-appearance: button; /* 2 */
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
}
-/*
- * Define box sizing
- * Addresses box sizing set to content-box in IE8/9
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
*/
-input[type="checkbox"],
-input[type="radio"] {
- box-sizing: border-box;
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
}
-/*
- * Define box sizing and appearance
- * Addresses box sizing set to border-box in S5 Chrome (include -moz to future-proof)
- * Addresses appearance set to searchfield in S5 Chrome
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
*/
-input[type="search"] {
- -webkit-appearance: textfield;
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
}
-/*
- * Remove WebKit search decoration
- * Addresses inner padding displaying oddly in S5 Chrome on OSX
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
*/
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
}
+/* Interactive
+ ========================================================================== */
+
/*
- * Remove inner padding and border
- * Fixes appearance displayed oddly in FF3/4
- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
+ * Add the correct display in Edge, IE 10+, and Firefox.
*/
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
+details {
+ display: block;
}
/*
- * 1. Remove default vertical scrollbar
- * Fixes scrollbar displayed oddly in IE6/7/8/9
- * 2. Add top vertical alignment
- * Improves readability and aligment in all browsers
+ * Add the correct display in all browsers.
*/
-textarea {
- overflow: auto; /* 1 */
- vertical-align: top; /* 2 */
+summary {
+ display: list-item;
}
-
-/* =============================================================================
- Tables
+/* Misc
========================================================================== */
-/*
- * Remove most spacing between table cells
- * Consistent vertical and horizontal alignment in all browsers
+/**
+ * Add the correct display in IE 10+.
*/
-table {
- border-collapse: collapse;
- border-spacing: 0;
+template {
+ display: none;
}
-th,
-td {
- padding: 0;
- text-align: left;
- vertical-align: middle;
-}
\ No newline at end of file
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+ display: none;
+}
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 000000000..7f8590b4d
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,5 @@
+{
+ "name": "normalize.css",
+ "version": "8.0.1",
+ "lockfileVersion": 1
+}
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..668bda8a4
--- /dev/null
+++ b/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "normalize.css",
+ "version": "8.0.1",
+ "description": "A modern alternative to CSS resets",
+ "main": "normalize.css",
+ "style": "normalize.css",
+ "files": [
+ "LICENSE.md",
+ "normalize.css"
+ ],
+ "repository": "necolas/normalize.css",
+ "license": "MIT",
+ "bugs": "https://github.com/necolas/normalize.css/issues",
+ "homepage": "https://necolas.github.io/normalize.css"
+}
diff --git a/test.html b/test.html
new file mode 100644
index 000000000..615b08326
--- /dev/null
+++ b/test.html
@@ -0,0 +1,441 @@
+
+
+
+
+Normalize CSS: UI tests
+
+
+
+
+
+ .
+
+
+
+
html
+
should have a line height of 1.15
+
+ abcdefghijklmnopqrstuvwxyz
+
+
+
body
+
should have no margin (opinionated)
+
+ (there should be no red background visible on this page)
+
+
+
+ article, aside, details,
+ figure, figcaption, footer,
+ header, main,
+ menu, nav, section,
+ summary
+
+
should render as block
+
+
article
+
+
+ summary
+ details
+
+
+ figure
+ figcaption
+
+
+
+
main
+
menu
+
nav
+
+
+
+
audio, canvas, progress, video
+
should render as inline-block and baseline-aligned
+
+
audio
+
canvas
+
progress
+
video
+
+
+
audio:not([controls]), template, [hidden]
+
should not display
+
+
audio
+
+ {{title}}
+
+
+
This should be hidden
+
+
+
a
+
should have a transparent background when active
+
+
should not skip underlines
+
+
should not have a focus outline when both focused and hovered (opinionated)
+
+
+
abbr[title]
+
should have a dotted underline with a solid underline as a fallback
+
+
+
b, strong
+
should have bolder font-weight
+
+ b
+ strong
+
+
+
dfn
+
should have italic font-style
+
+ dfn
+
+
+
h1
+
should not change size within an article
+
+
Heading (control)
+
+ Heading (in article)
+
+
+
should not change size within a section
+
+
Heading (control)
+
+
+
+
mark
+
should have a yellow background
+
+ mark
+
+
+
small
+
should render equally small in all browsers
+
+ control. small.
+
+
+
sub and sup
+
should not affect a line's visual line-height
+
+
control.
+
control. sub.
+
control. sup.
+
+
+
img
+
should not have a border when wrapped in an anchor
+
+
+
svg
+
should not overflow
+
+
+
+
+
+
+
code, kbd, pre, samp
+
should render text at the same absolute size as normal text
+
+
span: abcdefghijklmnopqrstuvwxyz.
+
code: abcdefghijklmnopqrstuvwxyz.
+
kbd: abcdefghijklmnopqrstuvwxyz.
+
samp: abcdefghijklmnopqrstuvwxyz.
+
pre: abcdefghijklmnopqrstuvwxyz.
+
+
+
figure
+
should have margins
+
+
+
+
+
+
+
hr
+
should have a content-box box model
+
+
+
+
+
button, input, optgroup, select, textarea
+
should inherit font-size from ancestor
+
+ button
+
+
+
+ option
+
+ option
+
+ textarea
+
+
should not have margins
+
+
+ button
+
+
+
+ option
+
+ option
+
+ textarea
+
+
+
button
+
should have visible overflow
+
+
+ abcdefghijklmnopqrstuvwxyz
+
+
+
button, select
+
should not inherit text-transform
+
+ button
+ option
+
+
+
button and button-style input
+
should be styleable
+
+
+
disabled button and input
+
should have default cursor style
+
+
+
button, input
+
should not have extra inner padding in Firefox
+
+
+
fieldset
+
should have consistent border, padding, and margin
+
+
+
legend
+
should inherit color
+
+
+ legend
+
+
+
should not have padding
+
+
+ legend
+
+
+
should wrap text
+
+
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me.
+
+
+
+
textarea
+
should not have a scrollbar unless overflowing
+
+ textarea
+
+
+
[type="checkbox"], [type="radio"]
+
should have a border-box box model
+
+
+
+
+
+
should not have padding
+
+
+
+
+
+
[type="number"]
+
should display a default cursor for the decrement button's click target in Chrome
+
+
+
+
+
[type="search"]
+
should be styleable
+
+
+
+
should reference inherited color
+
+
+
+
+