Come, let's talk about Normalize.css_html/css_WEB-ITnose
This article is translated from http://nicolasgallagher.com/about-normalize-css/
Originally published on my blog: http://jerryzou.com/posts/aboutNormalizeCss/
Normalize.css is just a small CSS file, but it provides a high degree of cross-browser consistency in the styling of default HTML elements. Compared to traditional CSS reset, Normalize.css is a modern, high-quality alternative prepared for HTML5. Normalize.css is now used in Twitter Bootstrap, HTML5 Boilerplate, GOV.UK, Rdio, CSS Tricks and many other frameworks, tools and websites.
Overview
Normalize.css is a Alternative to CSS reset. After @necolas and @jon_neal spent hundreds of hours studying the differences in default styles across browsers, this project finally became what it is now.
We created normalize.css with the following goals:
Normalize.css supports mobile browsers including Many browsers have generalized HTML5 elements, typography, lists, embedded content, forms, and tables at the same time. Although this project is based on general principles, we have used more practical defaults where appropriate.
Normalize vs Reset
It is very valuable to know the difference between Normalize.css and traditional Reset.
1. Normalize.css protects valuable default values
Reset forces the elements to have the same visual effect by applying default styles to almost all elements. In contrast, Normalize.css maintains many default browser styles. This means you no longer have to restyle all common typography elements. When an element has different default values in different browsers, Normalize.css strives to keep those styles consistent and in line with modern standards as much as possible.
2. Normalize.css fixes browser bugs
It fixes common desktop and mobile browser bugs. This is often beyond what Reset can do. In this regard, the issues fixed by Normalize.css include the display settings of HTML5 elements, font-size issues with preformatted text, SVG overflow in IE9, and many form-related issues that appear in various browsers and operating systems. bug.
You can look at the following example to see how Normalize.css ensures cross-browser consistency for the new input type search in HTML5.
/** * 1. Addresses appearance set to searchfield in S5, Chrome * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof) */input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; } /** * Removes inner padding and search cancel button in S5, Chrome on OS X */ input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
3. Normalize.css will not make your debugging tools cluttered
The most troublesome part of using Reset is the long paragraphs in the browser debugging tools The inheritance chain is as shown in the figure below. There is no such problem in Normalize.css, because in our guidelines we are very careful about the use of multiple selectors, and we only purposefully style the target element.
4. Normalize.css is modular
This project has been split into related but independent parts, which makes it easy for you to It's clear which elements are set to a specific value. This allows you to selectively remove certain parts of your application that will never be used (such as generalization of forms).
5. Normalize.css has detailed documentation
The code of Normalize.css is based on detailed and comprehensive cross-browser research and testing. Detailed code descriptions are found in this file and further explained in the Github Wiki. This means you can find out exactly what each line of code does, why it was written, the differences between browsers, and you can more easily conduct your own testing.
The goal of this project is to help people understand how browsers render elements by default, while also making it easy to understand how to improve browser rendering.
How to use normalize.css
First, install or download Normalize.css from Github. There are two main ways to use it.
Conclusion
Normalize.css and Reset are very different in terms of application scope and implementation. It's worth trying both methods out and seeing which one suits your development preferences better. This project is developed as open source on Github. Anyone can submit a problem report or submit a patch. The entire project development process is visible to everyone, and the reasons for each change are also written in the commit information, which are traceable.
Related Reading
For more details on the default UA style:

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

AnexampleofastartingtaginHTMLis,whichbeginsaparagraph.StartingtagsareessentialinHTMLastheyinitiateelements,definetheirtypes,andarecrucialforstructuringwebpagesandconstructingtheDOM.

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

The Y-axis position adaptive algorithm for web annotation function This article will explore how to implement annotation functions similar to Word documents, especially how to deal with the interval between annotations...

GiteePages static website deployment failed: 404 error troubleshooting and resolution when using Gitee...

To achieve the effect of scattering and enlarging the surrounding images after clicking on the image, many web designs need to achieve an interactive effect: click on a certain image to make the surrounding...

HTML, CSS and JavaScript are the three pillars of web development. 1. HTML defines the web page structure and uses tags such as, etc. 2. CSS controls the web page style, using selectors and attributes such as color, font-size, etc. 3. JavaScript realizes dynamic effects and interaction, through event monitoring and DOM operations.
