Skip to content
This repository has been archived by the owner on Dec 5, 2019. It is now read-only.

AnandChowdhary/normalize.css

 
 

Repository files navigation

normalize.css v3

Normalize.css is a customisable CSS file that makes browsers render all elements more consistently and in line with modern standards.

The project relies on researching the differences between default browser styles in order to precisely target only the styles that need or benefit from normalizing.

This fork of normalize.css includes fixes for box-sizing.

View the test file

⚠️ Archive Notice

I forked the legendary normalize.css CSS reset project back in 2015 and added opinionated box-sizing. In the past few years, I've turned my back against using *, *::before, &::after for anything, so this repository is redundant.

Install

  • npm: npm install --save normalize.css
  • Component(1): component install necolas/normalize.css
  • Bower: bower install --save normalize.css
  • Download.

No other styles should come before Normalize.css.

It is recommended that you include the normalize.css file as untouched library code.

What does it do?

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

Browser support

  • Google Chrome (latest)
  • Mozilla Firefox (latest)
  • Mozilla Firefox 4
  • Opera (latest)
  • Apple Safari 6+
  • Internet Explorer 8+

Normalize.css v1 provides legacy browser support (IE 6+, Safari 4+), but is no longer actively developed.

Extended details

Additional detail and explanation of the esoteric parts of normalize.css.

pre, code, kbd, samp

The font-family: monospace, monospace hack fixes the inheritance and scaling of font-size for preformated text. The duplication of monospace is intentional. Source.

sub, sup

Normally, using sub or sup affects the line-box height of text in all browsers. Source.

svg:not(:root)

Adding overflow: hidden fixes IE9's SVG rendering. Earlier versions of IE don't support SVG, so we can safely use the :not() and :root selectors that modern browsers use in the default UA stylesheets to apply this style. SVG Mailing List discussion

input[type="search"]

The search input is not fully stylable by default. In Chrome and Safari on OSX/iOS you can't control font, padding, border, or background. In Chrome and Safari on Windows you can't control border properly. It will apply border-width but will only show a border color (which cannot be controlled) for the outer 1px of that border. Applying -webkit-appearance: textfield addresses these issues without removing the benefits of search inputs (e.g. showing past searches).

legend

Adding border: 0 corrects an IE 8–11 bug where color (yes, color) is not inherited by legend.

Contributing

Please read the CONTRIBUTING.md

Acknowledgements

Normalize.css is a project by Nicolas Gallagher, co-created with Jonathan Neal. This is a forked version with certain additions by Anand Chowdhary.

About

A collection of HTML element and attribute style-normalizations

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 100.0%