├── .gitignore ├── .travis.yml ├── .gitattributes ├── .editorconfig ├── package.json ├── LICENSE.md ├── test.sh ├── README.md ├── commits.txt ├── CHANGELOG.md ├── normalize.css ├── CONTRIBUTING.md └── test.html /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - stable 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | normalize.css linguist-vendored=false 2 | test.html linguist-vendored 3 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "normalize.css", 3 | "version": "8.0.1", 4 | "description": "A modern alternative to CSS resets", 5 | "main": "normalize.css", 6 | "style": "normalize.css", 7 | "files": [ 8 | "LICENSE.md", 9 | "normalize.css" 10 | ], 11 | "repository": "necolas/normalize.css", 12 | "license": "MIT", 13 | "bugs": "https://github.com/necolas/normalize.css/issues", 14 | "homepage": "https://necolas.github.io/normalize.css" 15 | } 16 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # The MIT License (MIT) 2 | 3 | Copyright © Nicolas Gallagher and Jonathan Neal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 9 | of the Software, and to permit persons to whom the Software is furnished to do 10 | so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # 1. Define your commit messages 4 | COMMIT_MESSAGES=( 5 | "Refactor code for clarity" 6 | "Fix minor bug" 7 | "Add new feature" 8 | "Update documentation" 9 | "Improve performance" 10 | "Cleanup deprecated code" 11 | "Add test coverage" 12 | "Code style improvements" 13 | "Fix merge conflicts" 14 | "Version bump" 15 | ) 16 | 17 | # 2. Define author details 18 | AUTHOR_NAME="pro100nick" 19 | AUTHOR_EMAIL="pro100nick@mail.ru" 20 | 21 | # 3. Define your date range 22 | START_DATE="2024-12-22" 23 | END_DATE="2024-12-28" 24 | 25 | # 4. Generate all dates from START_DATE to END_DATE using Python 26 | date_list=$(python3 -c " 27 | import datetime 28 | start = datetime.datetime.strptime('$START_DATE', '%Y-%m-%d') 29 | end = datetime.datetime.strptime('$END_DATE', '%Y-%m-%d') 30 | current = start 31 | while current <= end: 32 | print(current.strftime('%Y-%m-%d')) 33 | current += datetime.timedelta(days=1) 34 | ") 35 | 36 | # 5. Iterate over the generated dates 37 | for current_date in $date_list; do 38 | 39 | # --- Determine day of week (Monday=0, Sunday=6) --- 40 | day_of_week=$(python3 -c " 41 | import datetime 42 | dt = datetime.datetime.strptime('$current_date', '%Y-%m-%d') 43 | print(dt.weekday()) 44 | ") 45 | 46 | # Skip Sundays entirely (weekday=6) 47 | if [ "$day_of_week" -eq 6 ]; then 48 | continue # no commits on Sunday 49 | fi 50 | 51 | # Randomly skip some Saturdays (weekday=5) 52 | if [ "$day_of_week" -eq 5 ]; then 53 | # 50% chance to skip 54 | if [ $((RANDOM % 2)) -eq 0 ]; then 55 | continue # skip this Saturday 56 | fi 57 | fi 58 | 59 | # Generate a random number between 4 and 12 for daily commits 60 | # RANDOM % 9 gives 0..8; adding 4 yields 4..12 61 | num_commits=$((4 + RANDOM % 9)) 62 | 63 | for i in $(seq 1 "$num_commits"); do 64 | # Pick a random message from the array 65 | random_index=$((RANDOM % ${#COMMIT_MESSAGES[@]})) 66 | commit_message="${COMMIT_MESSAGES[$random_index]}" 67 | 68 | # Make a file change so there's something to commit 69 | echo "Commit on $current_date #$i" >> commits.txt 70 | 71 | # Stage changes 72 | git add commits.txt 73 | 74 | # Commit with artificial author/committer details and date 75 | GIT_AUTHOR_NAME="$AUTHOR_NAME" \ 76 | GIT_AUTHOR_EMAIL="$AUTHOR_EMAIL" \ 77 | GIT_COMMITTER_NAME="$AUTHOR_NAME" \ 78 | GIT_COMMITTER_EMAIL="$AUTHOR_EMAIL" \ 79 | GIT_AUTHOR_DATE="$current_date 12:00:00" \ 80 | GIT_COMMITTER_DATE="$current_date 12:00:00" \ 81 | git commit -m "$commit_message" 82 | done 83 | 84 | done 85 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # normalize.css 2 | 3 | Normalize Logo 6 | 7 | > A modern alternative to CSS resets 8 | 9 | [![npm][npm-image]][npm-url] [![license][license-image]][license-url] 10 | [![changelog][changelog-image]][changelog-url] 11 | [![gitter][gitter-image]][gitter-url] 12 | 13 | 14 | **NPM** 15 | 16 | ```sh 17 | npm install --save normalize.css 18 | ``` 19 | 20 | **CDN** 21 | 22 | See https://yarnpkg.com/en/package/normalize.css 23 | 24 | **Download** 25 | 26 | See https://necolas.github.io/normalize.css/latest/normalize.css 27 | 28 | 29 | ## What does it do? 30 | 31 | * Preserves useful defaults, unlike many CSS resets. 32 | * Normalizes styles for a wide range of elements. 33 | * Corrects bugs and common browser inconsistencies. 34 | * Improves usability with subtle modifications. 35 | * Explains what code does using detailed comments. 36 | 37 | 38 | ## Browser support 39 | 40 | * Chrome 41 | * Edge 42 | * Firefox ESR+ 43 | * Internet Explorer 10+ 44 | * Safari 8+ 45 | * Opera 46 | 47 | 48 | ## Extended details and known issues 49 | 50 | Additional detail and explanation of the esoteric parts of normalize.css. 51 | 52 | #### `pre, code, kbd, samp` 53 | 54 | The `font-family: monospace, monospace` hack fixes the inheritance and scaling 55 | of font-size for preformatted text. The duplication of `monospace` is 56 | intentional. [Source](https://en.wikipedia.org/wiki/User:Davidgothberg/Test59). 57 | 58 | #### `sub, sup` 59 | 60 | Normally, using `sub` or `sup` affects the line-box height of text in all 61 | browsers. [Source](https://gist.github.com/413930). 62 | 63 | #### `select` 64 | 65 | By default, Chrome on OS X and Safari on OS X allow very limited styling of 66 | `select`, unless a border property is set. The default font weight on `optgroup` 67 | elements cannot safely be changed in Chrome on OSX and Safari on OS X. 68 | 69 | #### `[type="checkbox"]` 70 | 71 | It is recommended that you do not style checkbox and radio inputs as Firefox's 72 | implementation does not respect box-sizing, padding, or width. 73 | 74 | #### `[type="number"]` 75 | 76 | Certain font size values applied to number inputs cause the cursor style of the 77 | decrement button to change from `default` to `text`. 78 | 79 | #### `[type="search"]` 80 | 81 | The search input is not fully stylable by default. In Chrome and Safari on 82 | OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In 83 | Chrome and Safari on Windows you can't control `border` properly. It will apply 84 | `border-width` but will only show a border color (which cannot be controlled) 85 | for the outer 1px of that border. Applying `-webkit-appearance: textfield` 86 | addresses these issues without removing the benefits of search inputs (e.g. 87 | showing past searches). 88 | 89 | ## Contributing 90 | 91 | Please read the [contribution guidelines](CONTRIBUTING.md) in order to make the 92 | contribution process easy and effective for everyone involved. 93 | 94 | 95 | [changelog-image]: https://img.shields.io/badge/changelog-md-blue.svg?style=flat-square 96 | [changelog-url]: CHANGELOG.md 97 | [license-image]: https://img.shields.io/npm/l/normalize.css.svg?style=flat-square 98 | [license-url]: LICENSE.md 99 | [npm-image]: https://img.shields.io/npm/v/normalize.css.svg?style=flat-square 100 | [npm-url]: https://www.npmjs.com/package/normalize.css 101 | [gitter-image]: https://img.shields.io/badge/chat-gitter-blue.svg?style=flat-square 102 | [gitter-url]: https://gitter.im/necolas/normalize.css 103 | -------------------------------------------------------------------------------- /commits.txt: -------------------------------------------------------------------------------- 1 | Commit on 2024-12-23 #1 2 | Commit on 2024-12-23 #2 3 | Commit on 2024-12-23 #3 4 | Commit on 2024-12-23 #4 5 | Commit on 2024-12-23 #5 6 | Commit on 2024-12-23 #6 7 | Commit on 2024-12-23 #7 8 | Commit on 2024-12-23 #8 9 | Commit on 2024-12-23 #9 10 | Commit on 2024-12-24 #1 11 | Commit on 2024-12-24 #2 12 | Commit on 2024-12-24 #3 13 | Commit on 2024-12-24 #4 14 | Commit on 2024-12-24 #5 15 | Commit on 2024-12-24 #6 16 | Commit on 2024-12-25 #1 17 | Commit on 2024-12-25 #2 18 | Commit on 2024-12-25 #3 19 | Commit on 2024-12-25 #4 20 | Commit on 2024-12-25 #5 21 | Commit on 2024-12-25 #6 22 | Commit on 2024-12-26 #1 23 | Commit on 2024-12-26 #2 24 | Commit on 2024-12-26 #3 25 | Commit on 2024-12-26 #4 26 | Commit on 2024-12-26 #5 27 | Commit on 2024-12-27 #1 28 | Commit on 2024-12-27 #2 29 | Commit on 2024-12-27 #3 30 | Commit on 2024-12-27 #4 31 | Commit on 2024-12-27 #5 32 | Commit on 2024-12-27 #6 33 | Commit on 2024-12-27 #7 34 | Commit on 2024-12-27 #8 35 | Commit on 2024-06-03 #1 36 | Commit on 2024-06-03 #2 37 | Commit on 2024-06-03 #3 38 | Commit on 2024-06-03 #4 39 | Commit on 2024-06-03 #5 40 | Commit on 2024-06-03 #6 41 | Commit on 2024-06-03 #7 42 | Commit on 2024-06-03 #8 43 | Commit on 2024-06-03 #9 44 | Commit on 2024-06-03 #10 45 | Commit on 2024-06-04 #1 46 | Commit on 2024-06-04 #2 47 | Commit on 2024-06-04 #3 48 | Commit on 2024-06-04 #4 49 | Commit on 2024-06-05 #1 50 | Commit on 2024-06-05 #2 51 | Commit on 2024-06-05 #3 52 | Commit on 2024-06-05 #4 53 | Commit on 2024-06-05 #5 54 | Commit on 2024-06-05 #6 55 | Commit on 2024-06-05 #7 56 | Commit on 2024-06-06 #1 57 | Commit on 2024-06-06 #2 58 | Commit on 2024-06-06 #3 59 | Commit on 2024-06-06 #4 60 | Commit on 2024-06-06 #5 61 | Commit on 2024-06-06 #6 62 | Commit on 2024-06-06 #7 63 | Commit on 2024-06-06 #8 64 | Commit on 2024-06-06 #9 65 | Commit on 2024-06-06 #10 66 | Commit on 2024-06-07 #1 67 | Commit on 2024-06-07 #2 68 | Commit on 2024-06-07 #3 69 | Commit on 2024-06-07 #4 70 | Commit on 2024-06-07 #5 71 | Commit on 2024-06-07 #6 72 | Commit on 2024-06-07 #7 73 | Commit on 2024-06-07 #8 74 | Commit on 2024-06-07 #9 75 | Commit on 2024-06-07 #10 76 | Commit on 2024-06-07 #11 77 | Commit on 2024-06-08 #1 78 | Commit on 2024-06-08 #2 79 | Commit on 2024-06-08 #3 80 | Commit on 2024-06-08 #4 81 | Commit on 2024-06-08 #5 82 | Commit on 2024-06-08 #6 83 | Commit on 2024-06-08 #7 84 | Commit on 2024-06-10 #1 85 | Commit on 2024-06-10 #2 86 | Commit on 2024-06-10 #3 87 | Commit on 2024-06-10 #4 88 | Commit on 2024-06-10 #5 89 | Commit on 2024-06-11 #1 90 | Commit on 2024-06-11 #2 91 | Commit on 2024-06-11 #3 92 | Commit on 2024-06-11 #4 93 | Commit on 2024-06-11 #5 94 | Commit on 2024-06-11 #6 95 | Commit on 2024-06-11 #7 96 | Commit on 2024-06-11 #8 97 | Commit on 2024-06-11 #9 98 | Commit on 2024-06-11 #10 99 | Commit on 2024-06-11 #11 100 | Commit on 2024-06-11 #12 101 | Commit on 2024-06-12 #1 102 | Commit on 2024-06-12 #2 103 | Commit on 2024-06-12 #3 104 | Commit on 2024-06-12 #4 105 | Commit on 2024-06-12 #5 106 | Commit on 2024-06-13 #1 107 | Commit on 2024-06-13 #2 108 | Commit on 2024-06-13 #3 109 | Commit on 2024-06-13 #4 110 | Commit on 2024-06-13 #5 111 | Commit on 2024-06-14 #1 112 | Commit on 2024-06-14 #2 113 | Commit on 2024-06-14 #3 114 | Commit on 2024-06-14 #4 115 | Commit on 2024-06-14 #5 116 | Commit on 2024-06-14 #6 117 | Commit on 2024-06-14 #7 118 | Commit on 2024-06-17 #1 119 | Commit on 2024-06-17 #2 120 | Commit on 2024-06-17 #3 121 | Commit on 2024-06-17 #4 122 | Commit on 2024-06-17 #5 123 | Commit on 2024-06-17 #6 124 | Commit on 2024-06-17 #7 125 | Commit on 2024-06-17 #8 126 | Commit on 2024-06-18 #1 127 | Commit on 2024-06-18 #2 128 | Commit on 2024-06-18 #3 129 | Commit on 2024-06-18 #4 130 | Commit on 2024-06-18 #5 131 | Commit on 2024-06-18 #6 132 | Commit on 2024-06-18 #7 133 | Commit on 2024-06-18 #8 134 | Commit on 2024-06-19 #1 135 | Commit on 2024-06-19 #2 136 | Commit on 2024-06-19 #3 137 | Commit on 2024-06-19 #4 138 | Commit on 2024-06-19 #5 139 | Commit on 2024-06-20 #1 140 | Commit on 2024-06-20 #2 141 | Commit on 2024-06-20 #3 142 | Commit on 2024-06-20 #4 143 | Commit on 2024-06-20 #5 144 | Commit on 2024-06-20 #6 145 | Commit on 2024-06-20 #7 146 | Commit on 2024-06-20 #8 147 | Commit on 2024-06-20 #9 148 | Commit on 2024-06-20 #10 149 | Commit on 2024-06-20 #11 150 | Commit on 2024-06-20 #12 151 | Commit on 2024-06-21 #1 152 | Commit on 2024-06-21 #2 153 | Commit on 2024-06-21 #3 154 | Commit on 2024-06-21 #4 155 | Commit on 2024-06-21 #5 156 | Commit on 2024-06-21 #6 157 | Commit on 2024-06-21 #7 158 | Commit on 2024-06-21 #8 159 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changes to normalize.css 2 | 3 | ### 8.0.1 (November 4, 2018) 4 | 5 | * Fix regression in IE rendering of `main` element. 6 | 7 | ### 8.0.0 (February 2, 2018) 8 | 9 | * Remove support for older browsers Android 4, lte IE 9, lte Safari 7. 10 | * Don't remove search input cancel button in Chrome/Safari. 11 | * Form inputs inherit `font-family`. 12 | * Fix text decoration in Safari 8+. 13 | 14 | ### 7.0.0 (May 2, 2017) 15 | 16 | * Revert changes in `body` and form elements styles introduced by v6 17 | 18 | ### 6.0.0 (March 26, 2017) 19 | 20 | * Remove all opinionated rules 21 | * Correct document heading comment 22 | * Update `abbr[title]` support 23 | 24 | ### 5.0.0 (October 3, 2016) 25 | 26 | * Add normalized sections not already present from 27 | https://html.spec.whatwg.org/multipage/. 28 | * Move unsorted rules into their respective sections. 29 | * Update the `summary` style in all browsers. 30 | * Remove `::placeholder` styles due to a bug in Edge. 31 | * More explicitly define font resets on form controls. 32 | * Remove the `optgroup` normalization needed by the previous font reset. 33 | * Update text-size-adjust documentation
 for IE on Windows Phone 34 | * Update OS X reference to macOS 35 | * Update the semver strategy. 36 | 37 | ### 4.2.0 (June 30, 2016) 38 | 39 | * Correct the `line-height` in all browsers. 40 | * Restore `optgroup` font inheritance. 41 | * Update normalize.css heading. 42 | 43 | ### 4.1.1 (April 12, 2016) 44 | 45 | * Update normalize.css heading. 46 | 47 | ### 4.1.0 (April 11, 2016) 48 | 49 | * Normalize placeholders in Chrome, Edge, and Safari. 50 | * Normalize `text-decoration-skip` property in Safari. 51 | * Normalize file select buttons. 52 | * Normalize search input outlines in Safari. 53 | * Limit Firefox focus normalizations to buttons. 54 | * Restore `main` to package.json. 55 | * Restore proper overflow to certain `select` elements. 56 | * Remove opinionated cursor styles on buttons. 57 | * Update stylelint configuration. 58 | * Update tests. 59 | 60 | ### 4.0.0 (March 19, 2016) 61 | 62 | * Add the correct font weight for `b` and `strong` in Chrome, Edge, and Safari. 63 | * Correct inconsistent `overflow` for `hr` in Edge and IE. 64 | * Correct inconsistent `box-sizing` for `hr` in Firefox. 65 | * Correct inconsistent `text-decoration` and `border-bottom` for `abbr[title]` 66 | in Chrome, Edge, Firefox IE, Opera, and Safari. 67 | * Correct inheritance and scaling of `font-size` for preformatted text. 68 | * Correct `legend` text wrapping not present in Edge and IE. 69 | * Remove unnecessary normalization of `line-height` for `input`. 70 | * Remove unnecessary normalization of `color` for form controls. 71 | * Remove unnecessary `box-sizing` for `input[type="search"]` in Chrome, Edge, 72 | Firefox, IE, and Safari. 73 | * Remove opinionated table resets. 74 | * Remove opinionated `pre` overflow. 75 | * Remove selector weight from some input selectors. 76 | * Update normalization of `border-style` for `img`. 77 | * Update normalization of `color` inheritance for `legend`. 78 | * Update normalization of `background-color` for `mark`. 79 | * Update normalization of `outline` for `:-moz-focusring` removed by a previous 80 | normalization in Firefox. 81 | * Update opinionated style of `outline-width` for `a:active` and `a:hover`. 82 | * Update comments to identify opinionated styles. 83 | * Update comments to specify browser/versions affected by all changes. 84 | * Update comments to use one voice. 85 | 86 | --- 87 | 88 | ### 3.0.3 (March 30, 2015) 89 | 90 | * Remove unnecessary vendor prefixes. 91 | * Add `main` property. 92 | 93 | ### 3.0.2 (October 4, 2014) 94 | 95 | * Only alter `background-color` of links in IE 10. 96 | * Add `menu` element to HTML5 display definitions. 97 | 98 | ### 3.0.1 (March 27, 2014) 99 | 100 | * Add package.json for npm support. 101 | 102 | ### 3.0.0 (January 28, 2014) 103 | 104 | ### 3.0.0-rc.1 (January 26, 2014) 105 | 106 | * Explicit tests for each normalization. 107 | * Fix i18n for `q` element. 108 | * Fix `pre` text formatting and overflow. 109 | * Fix vertical alignment of `progress`. 110 | * Address `button` overflow in IE 8/9/10. 111 | * Revert `textarea` alignment modification. 112 | * Fix number input button cursor in Chrome on OS X. 113 | * Remove `a:focus` outline normalization. 114 | * Fix `figure` margin normalization. 115 | * Normalize `optgroup`. 116 | * Remove default table cell padding. 117 | * Set correct display for `progress` in IE 8/9. 118 | * Fix `font` and `color` inheritance for forms. 119 | 120 | --- 121 | 122 | ### 2.1.3 (August 26, 2013) 123 | 124 | * Fix component.json. 125 | * Remove the gray background color from active links in IE 10. 126 | 127 | ### 2.1.2 (May 11, 2013) 128 | 129 | * Revert root `color` and `background` normalizations. 130 | 131 | ### 2.1.1 (April 8, 2013) 132 | 133 | * Normalize root `color` and `background` to counter the effects of system 134 | color schemes. 135 | 136 | ### 2.1.0 (January 21, 2013) 137 | 138 | * Normalize `text-transform` for `button` and `select`. 139 | * Normalize `h1` margin when within HTML5 sectioning elements. 140 | * Normalize `hr` element. 141 | * Remove unnecessary `pre` styles. 142 | * Add `main` element to HTML5 display definitions. 143 | * Fix cursor style for disabled button `input`. 144 | 145 | ### 2.0.1 (August 20, 2012) 146 | 147 | * Remove stray IE 6/7 `inline-block` hack from HTML5 display settings. 148 | 149 | ### 2.0.0 (August 19, 2012) 150 | 151 | * Remove legacy browser form normalizations. 152 | * Remove all list normalizations. 153 | * Add `quotes` normalizations. 154 | * Remove all heading normalizations except `h1` font size. 155 | * Form elements automatically inherit `font-family` from ancestor. 156 | * Drop support for IE 6/7, Firefox < 4, and Safari < 5. 157 | 158 | --- 159 | 160 | ### 1.0.1 (August 19, 2012) 161 | 162 | * Adjust `small` font size normalization. 163 | 164 | ### 1.0.0 (August 14, 2012) 165 | 166 | (Only the notable changes since public release) 167 | 168 | * Add MIT License. 169 | * Hide `audio` elements without controls in iOS 5. 170 | * Normalize heading margins and font size. 171 | * Move font-family normalization from `body` to `html`. 172 | * Remove scrollbar normalization. 173 | * Remove excess padding from checkbox and radio inputs in IE 7. 174 | * Add IE9 correction for SVG overflow. 175 | * Add fix for legend not inheriting color in IE 6/7/8/9. 176 | -------------------------------------------------------------------------------- /normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /* Document 4 | ========================================================================== */ 5 | 6 | /** 7 | * 1. Correct the line height in all browsers. 8 | * 2. Prevent adjustments of font size after orientation changes in iOS. 9 | */ 10 | 11 | html { 12 | line-height: 1.15; /* 1 */ 13 | -webkit-text-size-adjust: 100%; /* 2 */ 14 | } 15 | 16 | /* Sections 17 | ========================================================================== */ 18 | 19 | /** 20 | * Remove the margin in all browsers. 21 | */ 22 | 23 | body { 24 | margin: 0; 25 | } 26 | 27 | /** 28 | * Render the `main` element consistently in IE. 29 | */ 30 | 31 | main { 32 | display: block; 33 | } 34 | 35 | /** 36 | * Correct the font size and margin on `h1` elements within `section` and 37 | * `article` contexts in Chrome, Firefox, and Safari. 38 | */ 39 | 40 | h1 { 41 | font-size: 2em; 42 | margin: 0.67em 0; 43 | } 44 | 45 | /* Grouping content 46 | ========================================================================== */ 47 | 48 | /** 49 | * 1. Add the correct box sizing in Firefox. 50 | * 2. Show the overflow in Edge and IE. 51 | */ 52 | 53 | hr { 54 | box-sizing: content-box; /* 1 */ 55 | height: 0; /* 1 */ 56 | overflow: visible; /* 2 */ 57 | } 58 | 59 | /** 60 | * 1. Correct the inheritance and scaling of font size in all browsers. 61 | * 2. Correct the odd `em` font sizing in all browsers. 62 | */ 63 | 64 | pre { 65 | font-family: monospace, monospace; /* 1 */ 66 | font-size: 1em; /* 2 */ 67 | } 68 | 69 | /* Text-level semantics 70 | ========================================================================== */ 71 | 72 | /** 73 | * Remove the gray background on active links in IE 10. 74 | */ 75 | 76 | a { 77 | background-color: transparent; 78 | } 79 | 80 | /** 81 | * 1. Remove the bottom border in Chrome 57- 82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 83 | */ 84 | 85 | abbr[title] { 86 | border-bottom: none; /* 1 */ 87 | text-decoration: underline; /* 2 */ 88 | text-decoration: underline dotted; /* 2 */ 89 | } 90 | 91 | /** 92 | * Add the correct font weight in Chrome, Edge, and Safari. 93 | */ 94 | 95 | b, 96 | strong { 97 | font-weight: bolder; 98 | } 99 | 100 | /** 101 | * 1. Correct the inheritance and scaling of font size in all browsers. 102 | * 2. Correct the odd `em` font sizing in all browsers. 103 | */ 104 | 105 | code, 106 | kbd, 107 | samp { 108 | font-family: monospace, monospace; /* 1 */ 109 | font-size: 1em; /* 2 */ 110 | } 111 | 112 | /** 113 | * Add the correct font size in all browsers. 114 | */ 115 | 116 | small { 117 | font-size: 80%; 118 | } 119 | 120 | /** 121 | * Prevent `sub` and `sup` elements from affecting the line height in 122 | * all browsers. 123 | */ 124 | 125 | sub, 126 | sup { 127 | font-size: 75%; 128 | line-height: 0; 129 | position: relative; 130 | vertical-align: baseline; 131 | } 132 | 133 | sub { 134 | bottom: -0.25em; 135 | } 136 | 137 | sup { 138 | top: -0.5em; 139 | } 140 | 141 | /* Embedded content 142 | ========================================================================== */ 143 | 144 | /** 145 | * Remove the border on images inside links in IE 10. 146 | */ 147 | 148 | img { 149 | border-style: none; 150 | } 151 | 152 | /* Forms 153 | ========================================================================== */ 154 | 155 | /** 156 | * 1. Change the font styles in all browsers. 157 | * 2. Remove the margin in Firefox and Safari. 158 | */ 159 | 160 | button, 161 | input, 162 | optgroup, 163 | select, 164 | textarea { 165 | font-family: inherit; /* 1 */ 166 | font-size: 100%; /* 1 */ 167 | line-height: 1.15; /* 1 */ 168 | margin: 0; /* 2 */ 169 | } 170 | 171 | /** 172 | * Show the overflow in IE. 173 | * 1. Show the overflow in Edge. 174 | */ 175 | 176 | button, 177 | input { /* 1 */ 178 | overflow: visible; 179 | } 180 | 181 | /** 182 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 183 | * 1. Remove the inheritance of text transform in Firefox. 184 | */ 185 | 186 | button, 187 | select { /* 1 */ 188 | text-transform: none; 189 | } 190 | 191 | /** 192 | * Correct the inability to style clickable types in iOS and Safari. 193 | */ 194 | 195 | button, 196 | [type="button"], 197 | [type="reset"], 198 | [type="submit"] { 199 | -webkit-appearance: button; 200 | } 201 | 202 | /** 203 | * Remove the inner border and padding in Firefox. 204 | */ 205 | 206 | button::-moz-focus-inner, 207 | [type="button"]::-moz-focus-inner, 208 | [type="reset"]::-moz-focus-inner, 209 | [type="submit"]::-moz-focus-inner { 210 | border-style: none; 211 | padding: 0; 212 | } 213 | 214 | /** 215 | * Restore the focus styles unset by the previous rule. 216 | */ 217 | 218 | button:-moz-focusring, 219 | [type="button"]:-moz-focusring, 220 | [type="reset"]:-moz-focusring, 221 | [type="submit"]:-moz-focusring { 222 | outline: 1px dotted ButtonText; 223 | } 224 | 225 | /** 226 | * Correct the padding in Firefox. 227 | */ 228 | 229 | fieldset { 230 | padding: 0.35em 0.75em 0.625em; 231 | } 232 | 233 | /** 234 | * 1. Correct the text wrapping in Edge and IE. 235 | * 2. Correct the color inheritance from `fieldset` elements in IE. 236 | * 3. Remove the padding so developers are not caught out when they zero out 237 | * `fieldset` elements in all browsers. 238 | */ 239 | 240 | legend { 241 | box-sizing: border-box; /* 1 */ 242 | color: inherit; /* 2 */ 243 | display: table; /* 1 */ 244 | max-width: 100%; /* 1 */ 245 | padding: 0; /* 3 */ 246 | white-space: normal; /* 1 */ 247 | } 248 | 249 | /** 250 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 251 | */ 252 | 253 | progress { 254 | vertical-align: baseline; 255 | } 256 | 257 | /** 258 | * Remove the default vertical scrollbar in IE 10+. 259 | */ 260 | 261 | textarea { 262 | overflow: auto; 263 | } 264 | 265 | /** 266 | * 1. Add the correct box sizing in IE 10. 267 | * 2. Remove the padding in IE 10. 268 | */ 269 | 270 | [type="checkbox"], 271 | [type="radio"] { 272 | box-sizing: border-box; /* 1 */ 273 | padding: 0; /* 2 */ 274 | } 275 | 276 | /** 277 | * Correct the cursor style of increment and decrement buttons in Chrome. 278 | */ 279 | 280 | [type="number"]::-webkit-inner-spin-button, 281 | [type="number"]::-webkit-outer-spin-button { 282 | height: auto; 283 | } 284 | 285 | /** 286 | * 1. Correct the odd appearance in Chrome and Safari. 287 | * 2. Correct the outline style in Safari. 288 | */ 289 | 290 | [type="search"] { 291 | -webkit-appearance: textfield; /* 1 */ 292 | outline-offset: -2px; /* 2 */ 293 | } 294 | 295 | /** 296 | * Remove the inner padding in Chrome and Safari on macOS. 297 | */ 298 | 299 | [type="search"]::-webkit-search-decoration { 300 | -webkit-appearance: none; 301 | } 302 | 303 | /** 304 | * 1. Correct the inability to style clickable types in iOS and Safari. 305 | * 2. Change font properties to `inherit` in Safari. 306 | */ 307 | 308 | ::-webkit-file-upload-button { 309 | -webkit-appearance: button; /* 1 */ 310 | font: inherit; /* 2 */ 311 | } 312 | 313 | /* Interactive 314 | ========================================================================== */ 315 | 316 | /* 317 | * Add the correct display in Edge, IE 10+, and Firefox. 318 | */ 319 | 320 | details { 321 | display: block; 322 | } 323 | 324 | /* 325 | * Add the correct display in all browsers. 326 | */ 327 | 328 | summary { 329 | display: list-item; 330 | } 331 | 332 | /* Misc 333 | ========================================================================== */ 334 | 335 | /** 336 | * Add the correct display in IE 10+. 337 | */ 338 | 339 | template { 340 | display: none; 341 | } 342 | 343 | /** 344 | * Add the correct display in IE 10. 345 | */ 346 | 347 | [hidden] { 348 | display: none; 349 | } 350 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to normalize.css 2 | 3 | Please take a moment to review this document in order to make the contribution 4 | process easy and effective for everyone involved. 5 | 6 | Following these guidelines helps to communicate that you respect the time of 7 | the developers managing and developing this open source project. In return, 8 | they should reciprocate that respect in addressing your issue or assessing 9 | patches and features. 10 | 11 | 12 | ## Using the issue tracker 13 | 14 | The issue tracker is the preferred channel for [bug reports](#bugs), 15 | [features requests](#features) and [submitting pull 16 | requests](#pull-requests), but please respect the following restrictions: 17 | 18 | * Please **do not** use the issue tracker for personal support requests. 19 | 20 | * Please **do not** derail or troll issues. Keep the discussion on topic and 21 | respect the opinions of others. 22 | 23 | 24 | ## Bug reports 25 | 26 | A bug is a _demonstrable problem_ that is caused by the code in the repository. 27 | Good bug reports are extremely helpful - thank you! 28 | 29 | Guidelines for bug reports: 30 | 31 | 1. **Use the GitHub issue search** – check if the issue has already been 32 | reported. 33 | 34 | 2. **Check if the issue has been fixed** – try to reproduce it using the 35 | latest `master` branch in the repository. 36 | 37 | 3. **Isolate the problem** – create a live example (e.g., on 38 | [Codepen](http://codepen.io)) of a [reduced test 39 | case](http://css-tricks.com/6263-reduced-test-cases/). 40 | 41 | A good bug report shouldn't leave others needing to chase you up for more 42 | information. Please try to be as detailed as possible in your report. What is 43 | your environment? What steps will reproduce the issue? What browser(s) and OS 44 | experience the problem? What would you expect to be the outcome? All these 45 | details will help people to fix any potential bugs. 46 | 47 | Example: 48 | 49 | > Short and descriptive example bug report title 50 | > 51 | > A summary of the issue and the browser/OS environment in which it occurs. If 52 | > suitable, include the steps required to reproduce the bug. 53 | > 54 | > 1. This is the first step 55 | > 2. This is the second step 56 | > 3. Further steps, etc. 57 | > 58 | > `` - a link to the reduced test case 59 | > 60 | > Any other information you want to share that is relevant to the issue being 61 | > reported. This might include the lines of code that you have identified as 62 | > causing the bug, and potential solutions (and your opinions on their 63 | > merits). 64 | 65 | 66 | ## Feature requests 67 | 68 | Feature requests are welcome. But take a moment to find out whether your idea 69 | fits with the scope and aims of the project. It's up to *you* to make a strong 70 | case to convince the project's developers of the merits of this feature. Please 71 | provide as much detail and context as possible. 72 | 73 | 74 | ## Pull requests 75 | 76 | Good pull requests - patches, improvements, new features - are a fantastic 77 | help. They should remain focused in scope and avoid containing unrelated 78 | commits. 79 | 80 | **Please ask first** before embarking on any significant work, otherwise you 81 | risk spending a lot of time working on something that the project's developers 82 | might not want to merge into the project. 83 | 84 | Please adhere to the coding conventions used throughout a project (whitespace, 85 | accurate comments, etc.) and any other requirements (such as test coverage). 86 | 87 | Follow this process if you'd like your work considered for inclusion in the 88 | project: 89 | 90 | 1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your 91 | fork, and configure the remotes: 92 | 93 | ```bash 94 | # Clone your fork of the repo into the current directory 95 | git clone https://github.com//normalize.css 96 | # Navigate to the newly cloned directory 97 | cd normalize.css 98 | # Assign the original repo to a remote called "upstream" 99 | git remote add upstream https://github.com/necolas/normalize.css 100 | ``` 101 | 102 | 2. If you cloned a while ago, get the latest changes from upstream: 103 | 104 | ```bash 105 | git checkout master 106 | git pull upstream master 107 | ``` 108 | 109 | 3. Never work directly on `master`. Create a new topic branch (off the latest 110 | version of `master`) to contain your feature, change, or fix: 111 | 112 | ```bash 113 | git checkout -b 114 | ``` 115 | 116 | 4. Commit your changes in logical chunks. Please adhere to these [git commit 117 | message conventions](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) 118 | or your code is unlikely be merged into the main project. Use Git's 119 | [interactive rebase](https://help.github.com/articles/interactive-rebase) 120 | feature to tidy up your commits before making them public. 121 | 122 | Be sure to add a test to the `test.html` file if appropriate, and test 123 | your change in all supported browsers. 124 | 125 | 5. Locally rebase the upstream development branch into your topic branch: 126 | 127 | ```bash 128 | git pull --rebase upstream master 129 | ``` 130 | 131 | 6. Push your topic branch up to your fork: 132 | 133 | ```bash 134 | git push origin 135 | ``` 136 | 137 | 10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) 138 | with a clear title and description. 139 | 140 | **IMPORTANT**: By submitting a patch, you agree to allow the project owner to 141 | license your work under the same license as that used by the project. 142 | 143 | ### CSS Conventions 144 | 145 | Keep the CSS file as readable as possible by following these guidelines: 146 | 147 | - Comments are short and to the point. 148 | - Comments without a number reference the entire rule. 149 | - Comments describe the selector when the selector does not make the 150 | normalization obvious. 151 | - Comments begin with “Correct the...” when they deal with less obvious side 152 | effects. 153 | - Rules are sorted by cascade, specificity, and then alphabetic order. 154 | - Selectors are sorted by specificity and then alphabetic order. 155 | - `in browser` applies to all versions. 156 | - `in browser v-` applies to all versions up to and including the version. 157 | - `in browser v+` applies to all versions after and including the version. 158 | - `in browser v-v` applies to all versions including and between the versions. 159 | 160 | 161 | ## Maintainers 162 | 163 | If you have commit access, please follow this process for merging patches and 164 | cutting new releases. 165 | 166 | ### Accepting patches 167 | 168 | 1. Check that a patch is within the scope and philosophy of the project. 169 | 2. Check that a patch has any necessary tests and a proper, descriptive commit 170 | message. 171 | 3. Test the patch locally. 172 | 4. Do not use GitHub's merge button. Apply the patch to `master` locally 173 | (either via `git am` or by checking the whole branch out). Amend minor 174 | problems with the author's original commit if necessary. Then push to GitHub. 175 | 176 | ### Releasing a new version 177 | 178 | 1. Include all new functional changes in the CHANGELOG. 179 | 2. Use a dedicated commit to increment the version. The version needs to be 180 | added to the CHANGELOG (inc. date), the `package.json`, and `normalize.css` 181 | files. 182 | 3. The commit message must be of `v0.0.0` format. 183 | 4. Create an annotated tag for the version: `git tag -m "v0.0.0" 0.0.0`. 184 | 5. Push the changes and tags to GitHub: `git push --tags origin master` 185 | 6. Checkout the `gh-pages` branch and follow the instructions in the README. 186 | 187 | ### Semver strategy 188 | 189 | [Semver](http://semver.org/) is a widely accepted method for deciding how 190 | version numbers are incremented in a project. Versions are written as 191 | MAJOR.MINOR.PATCH. 192 | 193 | Any change to CSS rules whatsoever is considered backwards-breaking and will 194 | result in a new **major** release. No changes to CSS rules can add 195 | functionality in a backwards-compatible manner, therefore no changes are 196 | considered **minor**. Others changes with no impact on rendering are considered 197 | backwards-compatible and will result in a new **patch** release. 198 | -------------------------------------------------------------------------------- /test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Normalize CSS: UI tests 6 | 7 | 8 | 82 | 83 |
84 | . 85 | 86 |

Normalize.css: UI tests

87 | 88 |

html

89 |

should have a line height of 1.15

90 |
91 | abcdefghijklmnopqrstuvwxyz 92 |
93 | 94 |

body

95 |

should have no margin (opinionated)

96 |
97 | (there should be no red background visible on this page) 98 |
99 | 100 |

101 | article, aside, details, 102 | figure, figcaption, footer, 103 | header, main, 104 | menu, nav, section, 105 | summary 106 |

107 |

should render as block

108 |
109 |
article
110 | 111 |
112 | summary 113 | details 114 |
115 |
116 | figure 117 |
figcaption
118 |
119 |
footer
120 |
header
121 |
main
122 |
  • menu
  • 123 | 124 |
    section
    125 |
    126 | 127 |

    audio, canvas, progress, video

    128 |

    should render as inline-block and baseline-aligned

    129 |
    130 | 131 | canvas 132 | progress 133 | 134 |
    135 | 136 |

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

    137 |

    should not display

    138 |
    139 | 140 | 144 | 145 |
    146 | 147 |

    a

    148 |

    should have a transparent background when active

    149 |
    150 | dummy anchor 151 |
    152 |

    should not skip underlines

    153 |
    154 | quip and jig 155 |
    156 |

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

    157 |
    158 | dummy anchor 159 |
    160 | 161 |

    abbr[title]

    162 |

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

    163 |
    164 | abbr 165 |
    166 | 167 |

    b, strong

    168 |

    should have bolder font-weight

    169 |
    170 | b 171 | strong 172 |
    173 | 174 |

    dfn

    175 |

    should have italic font-style

    176 |
    177 | dfn 178 |
    179 | 180 |

    h1

    181 |

    should not change size within an article

    182 |
    183 |

    Heading (control)

    184 |
    185 |

    Heading (in article)

    186 |
    187 |
    188 |

    should not change size within a section

    189 |
    190 |

    Heading (control)

    191 |
    192 |

    Heading (in section)

    193 |
    194 |
    195 | 196 |

    mark

    197 |

    should have a yellow background

    198 |
    199 | mark 200 |
    201 | 202 |

    small

    203 |

    should render equally small in all browsers

    204 |
    205 | control. small. 206 |
    207 | 208 |

    sub and sup

    209 |

    should not affect a line's visual line-height

    210 |
    211 |

    control.

    212 |

    control. sub.

    213 |

    control. sup.

    214 |
    215 | 216 |

    img

    217 |

    should not have a border when wrapped in an anchor

    218 | 224 | 225 |

    svg

    226 |

    should not overflow

    227 |
    228 | 229 | 230 | 231 |
    232 | 233 |

    code, kbd, pre, samp

    234 |

    should render text at the same absolute size as normal text

    235 |
    236 | span: abcdefghijklmnopqrstuvwxyz.
    237 | code: abcdefghijklmnopqrstuvwxyz.
    238 | kbd: abcdefghijklmnopqrstuvwxyz.
    239 | samp: abcdefghijklmnopqrstuvwxyz. 240 |
    pre: abcdefghijklmnopqrstuvwxyz.
    241 |
    242 | 243 |

    figure

    244 |

    should have margins

    245 |
    246 |
    247 | 248 |
    249 |
    250 | 251 |

    hr

    252 |

    should have a content-box box model

    253 |
    254 |
    255 |
    256 | 257 |

    button, input, optgroup, select, textarea

    258 |

    should inherit font-size from ancestor

    259 |
    260 |
    261 |
    262 |
    268 | 269 |
    270 |

    should not have margins

    271 |
    272 | 285 | 286 | 287 | 293 | 294 |
    295 | 296 |

    button

    297 |

    should have visible overflow

    298 |
    299 | 310 | 311 |
    312 | 313 |

    button, select

    314 |

    should not inherit text-transform

    315 |
    316 | 317 | 318 |
    319 | 320 |

    button and button-style input

    321 |

    should be styleable

    322 |
    323 | 332 |

    333 |

    334 |

    335 |

    336 |

    337 |

    338 |
    339 | 340 |

    disabled button and input

    341 |

    should have default cursor style

    342 |
    343 |

    344 |

    345 |

    346 |

    347 |
    348 | 349 |

    button, input

    350 |

    should not have extra inner padding in Firefox

    351 |
    352 | 360 |

    361 |

    362 |

    363 |

    364 |
    365 | 366 |

    fieldset

    367 |

    should have consistent border, padding, and margin

    368 |
    369 |
    370 |
    371 |
    372 |
    373 | 374 |

    legend

    375 |

    should inherit color

    376 |
    377 |
    378 | legend 379 |
    380 |
    381 |

    should not have padding

    382 |
    383 |
    384 | legend 385 |
    386 |
    387 |

    should wrap text

    388 |
    389 |
    390 | Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me. 391 |
    392 |
    393 | 394 |

    textarea

    395 |

    should not have a scrollbar unless overflowing

    396 |
    397 | 398 |
    399 | 400 |

    [type="checkbox"], [type="radio"]

    401 |

    should have a border-box box model

    402 |
    403 | 416 | 417 | 418 |
    419 |

    should not have padding

    420 |
    421 | 422 | 423 |
    424 | 425 |

    [type="number"]

    426 |

    should display a default cursor for the decrement button's click target in Chrome

    427 |
    428 | 429 |
    430 | 431 |

    [type="search"]

    432 |

    should be styleable

    433 |
    434 | 435 |
    436 |

    should reference inherited color

    437 |
    438 | 439 |
    440 | 441 |
    442 | --------------------------------------------------------------------------------