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 index d0e9f937c..922f6e38c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,139 @@ -== HEAD +# Changes to normalize.css -== 2.1.1 (April 8, 2013) +### 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) +### 2.1.0 (January 21, 2013) * Normalize `text-transform` for `button` and `select`. * Normalize `h1` margin when within HTML5 sectioning elements. @@ -14,11 +142,11 @@ * Add `main` element to HTML5 display definitions. * Fix cursor style for disabled button `input`. -== 2.0.1 (August 20, 2012) +### 2.0.1 (August 20, 2012) * Remove stray IE 6/7 `inline-block` hack from HTML5 display settings. -== 2.0.0 (August 19, 2012) +### 2.0.0 (August 19, 2012) * Remove legacy browser form normalizations. * Remove all list normalizations. @@ -27,19 +155,21 @@ * 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) +--- + +### 1.0.1 (August 19, 2012) * Adjust `small` font size normalization. -== 1.0.0 (August 14, 2012) +### 1.0.0 (August 14, 2012) (Only the notable changes since public release) * Add MIT License. -* Hide `audio` elements without controls in iOS 5 (#69). +* Hide `audio` elements without controls in iOS 5. * Normalize heading margins and font size. -* Move font-family normalization from `body` to `html` (#62). -* Remove scrollbar normalization (#64 #65). -* Remove excess padding from checkbox and radio inputs in IE 7 (#42). -* Add IE9 correction for SVG overflow (#16). +* 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 index 82bab9a2b..fa84fa956 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,6 @@ requests](#pull-requests), but please respect the following restrictions: respect the opinions of others. - ## Bug reports A bug is a _demonstrable problem_ that is caused by the code in the repository. @@ -64,7 +63,6 @@ Example: > merits). - ## Feature requests Feature requests are welcome. But take a moment to find out whether your idea @@ -73,7 +71,6 @@ 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 @@ -90,8 +87,8 @@ 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](http://help.github.com/fork-a-repo/) the project, clone your fork, - and configure the remotes: +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 @@ -122,7 +119,7 @@ project: [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public. - Make sure to add a test to the `test.html` file if appropriate, and test + 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: @@ -140,14 +137,27 @@ project: 10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description. - Please submit a separate pull request for any appropriate changes required - in the `v1` branch for legacy browsers. - **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 @@ -162,16 +172,26 @@ cutting new releases. 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. -5. If a patch should be included in `v1`, cherry-pick the commits or manually - apply if all else fails. ### 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), and edited in the README, - `component.json`, and `normalize.css` files. + 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" v0.0.0`. +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 index c6bcc9bf2..43b5ddcc9 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,6 @@ -Copyright (c) Nicolas Gallagher and Jonathan Neal +# 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 diff --git a/README.md b/README.md index c7eaba1ca..71954f230 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,102 @@ -# normalize.css v2.1.1 +# normalize.css -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. +Normalize Logo -[Check out the demo](http://necolas.github.io/normalize.css/2.1.0/test.html) +> A modern alternative to CSS resets -[Legacy browser support is available in v1](https://github.com/necolas/normalize.css/tree/v1) +[![npm][npm-image]][npm-url] [![license][license-image]][license-url] +[![changelog][changelog-image]][changelog-url] +[![gitter][gitter-image]][gitter-url] -## Install -Download from the [project page](http://necolas.github.io/normalize.css/). +**NPM** + +```sh +npm install --save normalize.css +``` + +**CDN** + +See https://yarnpkg.com/en/package/normalize.css + +**Download** + +See https://necolas.github.io/normalize.css/latest/normalize.css -Install with [Bower](http://twitter.github.io/bower/): `bower install --save 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 improvements. +* Improves usability with subtle modifications. * Explains what code does using detailed comments. -## How to use it -Normalize.css is intended to be used as an alternative to CSS resets. +## Browser support -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. +* Chrome +* Edge +* Firefox ESR+ +* Internet Explorer 10+ +* Safari 8+ +* Opera -## Browser support -* Google Chrome -* Mozilla Firefox 4+ -* Apple Safari 5+ -* Opera 12+ -* Internet Explorer 8+ +## 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). -## Contribute +## Contributing -Please read the CONTRIBUTING.md +Please read the [contribution guidelines](CONTRIBUTING.md) in order to make the +contribution process easy and effective for everyone involved. -## Acknowledgements -Normalize.css is a project by [Nicolas Gallagher](https://github.com/necolas), -co-created with [Jonathan Neal](https://github.com/jonathantneal). +[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/component.json b/component.json deleted file mode 100644 index 624623916..000000000 --- a/component.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "normalize-css", - "version": "2.1.1", - "author": "Nicolas Gallagher", - "homepage": "http://necolas.github.com/normalize.css/", - "main": "normalize.css", - "styles": ["normalize.css"] -} diff --git a/normalize.css b/normalize.css index 6d24a3853..192eb9ce4 100644 --- a/normalize.css +++ b/normalize.css @@ -1,402 +1,349 @@ -/*! normalize.css v2.1.1 | MIT License | git.io/normalize */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -/* ========================================================================== - HTML5 display definitions +/* Document ========================================================================== */ /** - * Correct `block` display not defined in IE 8/9. - */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} - -/** - * Correct `inline-block` display not defined in IE 8/9. + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. */ -audio, -canvas, -video { - display: inline-block; +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ } -/** - * Prevent modern browsers from displaying `audio` without controls. - * Remove excess height in iOS 5 devices. - */ - -audio:not([controls]) { - display: none; - height: 0; -} +/* Sections + ========================================================================== */ /** - * Address styling not present in IE 8/9. + * Remove the margin in all browsers. */ -[hidden] { - display: none; +body { + margin: 0; } -/* ========================================================================== - Base - ========================================================================== */ - /** - * 1. Prevent system color scheme's background color being used in Firefox, IE, - * and Opera. - * 2. Prevent system color scheme's text color being used in Firefox, IE, and - * Opera. - * 3. Set default font family to sans-serif. - * 4. Prevent iOS text size adjust after orientation change, without disabling - * user zoom. + * Render the `main` element consistently in IE. */ -html { - background: #fff; /* 1 */ - color: #000; /* 2 */ - font-family: sans-serif; /* 3 */ - -ms-text-size-adjust: 100%; /* 4 */ - -webkit-text-size-adjust: 100%; /* 4 */ +main { + display: block; } /** - * Remove default margin. + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. */ -body { - margin: 0; +h1 { + font-size: 2em; + margin: 0.67em 0; } -/* ========================================================================== - Links +/* Grouping content ========================================================================== */ /** - * Address `outline` inconsistency between Chrome and other browsers. + * 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 */ } /** - * Improve readability when focused and also mouse hovered in all browsers. + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. */ -a:active, -a:hover { - outline: 0; +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ } -/* ========================================================================== - Typography +/* Text-level semantics ========================================================================== */ /** - * Address variable `h1` font-size and margin within `section` and `article` - * contexts in Firefox 4+, Safari 5, and Chrome. + * Remove the gray background on active links in IE 10. */ -h1 { - font-size: 2em; - margin: 0.67em 0; +a { + background-color: transparent; } /** - * Address styling not present in IE 8/9, Safari 5, and Chrome. + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */ abbr[title] { - border-bottom: 1px dotted; + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ } /** - * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. + * Add the correct font weight in Chrome, Edge, and Safari. */ b, strong { - font-weight: bold; + font-weight: bolder; } /** - * Address styling not present in Safari 5 and Chrome. + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. */ -dfn { - font-style: italic; +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ } /** - * Address differences between Firefox and other browsers. + * Add the correct font size in all browsers. */ -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; +small { + font-size: 80%; } /** - * Address styling not present in IE 8/9. + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. */ -mark { - background: #ff0; - color: #000; +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } -/** - * Correct font family set oddly in Safari 5 and Chrome. - */ +sub { + bottom: -0.25em; +} -code, -kbd, -pre, -samp { - font-family: monospace, serif; - font-size: 1em; +sup { + top: -0.5em; } +/* Embedded content + ========================================================================== */ + /** - * Improve readability of pre-formatted text in all browsers. + * Remove the border on images inside links in IE 10. */ -pre { - white-space: pre-wrap; +img { + border-style: none; } +/* Forms + ========================================================================== */ + /** - * Set consistent quote types. + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. */ -q { - quotes: "\201C" "\201D" "\2018" "\2019"; +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ } /** - * Address inconsistent and variable font size in all browsers. + * Show the overflow in IE. + * 1. Show the overflow in Edge. */ -small { - font-size: 80%; +button, +input { /* 1 */ + overflow: visible; } /** - * Prevent `sub` and `sup` affecting `line-height` in all browsers. + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. */ -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - top: -0.5em; -} - -sub { - bottom: -0.25em; +button, +select { /* 1 */ + text-transform: none; } -/* ========================================================================== - Embedded content - ========================================================================== */ - /** - * Remove border when inside `a` element in IE 8/9. + * Correct the inability to style clickable types in iOS and Safari. */ -img { - border: 0; +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } /** - * Correct overflow displayed oddly in IE 9. + * Remove the inner border and padding in Firefox. */ -svg:not(:root) { - overflow: hidden; +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } -/* ========================================================================== - Figures - ========================================================================== */ - /** - * Address margin not present in IE 8/9 and Safari 5. + * Restore the focus styles unset by the previous rule. */ -figure { - margin: 0; +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; } -/* ========================================================================== - Forms - ========================================================================== */ - /** - * Define consistent border, margin, and padding. + * Correct the padding in Firefox. */ fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; + padding: 0.35em 0.75em 0.625em; } /** - * 1. Correct `color` not being inherited in IE 8/9. - * 2. Remove padding so people aren't caught out if they zero out fieldsets. + * 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 { - border: 0; /* 1 */ - padding: 0; /* 2 */ + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ } /** - * 1. Correct font family not being inherited in all browsers. - * 2. Correct font size not being inherited in all browsers. - * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. + * Add the correct vertical alignment in Chrome, Firefox, and Opera. */ -button, -input, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 2 */ - margin: 0; /* 3 */ +progress { + vertical-align: baseline; } /** - * Address Firefox 4+ setting `line-height` on `input` using `!important` in - * the UA stylesheet. + * Remove the default vertical scrollbar in IE 10+. */ -button, -input { - line-height: normal; +textarea { + overflow: auto; } /** - * 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. + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. */ -button, -select { - text-transform: none; +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ } /** - * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` - * and `video` controls. - * 2. Correct inability to style clickable `input` types in iOS. - * 3. Improve usability and consistency of cursor style between image-type - * `input` and others. + * Correct the cursor style of increment and decrement buttons in Chrome. */ -button, -html input[type="button"], /* 1 */ -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } /** - * Re-set default cursor for disabled elements. + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. */ -button[disabled], -html input[disabled] { - cursor: default; +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ } /** - * 1. Address box sizing set to `content-box` in IE 8/9. - * 2. Remove excess padding in IE 8/9. + * Remove the inner padding in Chrome and Safari on macOS. */ -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } /** - * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. - * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome - * (include `-moz` to future-proof). + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. */ -input[type="search"] { - -webkit-appearance: textfield; /* 1 */ - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; /* 2 */ - box-sizing: content-box; +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ } -/** - * Remove inner padding and search cancel button in Safari 5 and Chrome - * on OS X. +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. */ -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; +details { + display: block; } -/** - * Remove inner padding and border in Firefox 4+. +/* + * Add the correct display in all browsers. */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; +summary { + display: list-item; } +/* Misc + ========================================================================== */ + /** - * 1. Remove default vertical scrollbar in IE 8/9. - * 2. Improve readability and alignment in all browsers. + * Add the correct display in IE 10+. */ -textarea { - overflow: auto; /* 1 */ - vertical-align: top; /* 2 */ +template { + display: none; } -/* ========================================================================== - Tables - ========================================================================== */ - /** - * Remove most spacing between table cells. + * Add the correct display in IE 10. */ -table { - border-collapse: collapse; - border-spacing: 0; +[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 index d7103c49b..615b08326 100644 --- a/test.html +++ b/test.html @@ -1,354 +1,441 @@ - - - - Normalize CSS - - - - - -

Heading 1

-

Heading 2

-

Heading 3

-

Heading 4

-
Heading 5
-
Heading 6
- -
-

Heading 1 (in section)

-

Heading 2 (in section)

-

Heading 3 (in section)

-

Heading 4 (in section)

-
Heading 5 (in section)
-
Heading 6 (in section)
-
- -
-

Heading 1 (in article)

-

Heading 2 (in article)

-

Heading 3 (in article)

-

Heading 4 (in article)

-
Heading 5 (in article)
-
Heading 6 (in article)
-
- -
-
-

Heading 1 (in hgroup)

-

Heading 2 (in hgroup)

-
- -
- -

Text-level semantics

- - - -

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.

- -
Address: somewhere, world
- -
- -
- -

- The a element example
- The abbr element and abbr element with title examples
- The b element example
- The cite element example
- The code element example
- The del element example
- The dfn element and dfn element with title examples
- 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 strong element example
- The sub element example
- The sup element example
- The u element example
- The var element example -

- -

Embedded content

- -

audio

- - - - -

img

- - - - -

svg

- - - - - -

video

- - - - -

Interactive content

- -

details / summary

-
- More info -

Additional information

- -
- -

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

- -
    -
  1. list item 1
  2. -
  3. list item 1 -
      -
    1. list item 2
    2. -
    3. list item 2 -
        -
      1. list item 3
      2. -
      3. list item 3
      4. -
      -
    4. -
    5. list item 2
    6. -
    7. list item 2
    8. -
    -
  4. -
  5. list item 1
  6. -
  7. list item 1
  8. -
- -

unordered list

- - - -

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
AlbumYearPrice
AlbumYearPrice
Are You Experienced1967$10.00
Axis: Bold as Love1967$12.00
Electric Ladyland1968$10.00
Band of Gypsys1970$12.00
- -

Forms

- -
-
- Inputs as descendents of labels (form legend). This doubles up as a long legend that can test word wrapping. -

-

-

-

-

-

-

- -

-

-

-

- -

-

-
- -
- Inputs as siblings of labels -

-

-

-

-

-

-

-

- -

-

-

-

- -

-

-
- -
- Clickable inputs and buttons -

-

-

-

-

- - -

-

-

-

-
- -
- box-sizing tests -
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
- -
-
- -
-
-
-
- -
-
-
-
-
- - - + + +Normalize CSS: UI tests + + + + +
+ . + +

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
+
+
footer
+
header
+
main
+
  • menu
  • + +
    section
    +
    + +

    audio, canvas, progress, video

    +

    should render as inline-block and baseline-aligned

    +
    + + canvas + progress + +
    + +

    audio:not([controls]), template, [hidden]

    +

    should not display

    +
    + + + +
    + +

    a

    +

    should have a transparent background when active

    +
    + dummy anchor +
    +

    should not skip underlines

    +
    + quip and jig +
    +

    should not have a focus outline when both focused and hovered (opinionated)

    +
    + dummy anchor +
    + +

    abbr[title]

    +

    should have a dotted underline with a solid underline as a fallback

    +
    + abbr +
    + +

    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)

    +
    +

    Heading (in section)

    +
    +
    + +

    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

    +
    +
    +
    +
    + +
    +

    should not have margins

    +
    + + + + + +
    + +

    button

    +

    should have visible overflow

    +
    + + +
    + +

    button, select

    +

    should not inherit text-transform

    +
    + + +
    + +

    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

    +
    + +
    + +

    [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

    +
    + +
    + +