Table of Contents
Overview
Normalize vs Reset
1. Normalize.css protects valuable default values ​​
2. Normalize.css fixes browser bugs
3. Normalize.css will not make your debugging tools cluttered
4. Normalize.css is modular
5. Normalize.css has detailed documentation
How to use normalize.css
Conclusion
Related Reading
Home Web Front-end HTML Tutorial Come, let's talk about Normalize.css_html/css_WEB-ITnose

Come, let's talk about Normalize.css_html/css_WEB-ITnose

Jun 24, 2016 am 11:53 AM

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.

  • Normalize.css project address
  • Normalize.css source code on GitHub
  • 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:

  • Preserving useful browser default styles rather than removing them completely
  • General styles : Provide
  • for most HTML elements
  • Fix the browser’s own bugs and ensure consistency across browsers
  • Optimize CSS usability : Use some tips
  • Explain the code : Use comments and detailed documentation
  • 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; } 
    Copy after login

    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.

  • Strategy 1: Use normalize.css as the basic CSS of your own project, and customize the style values ​​to meet the needs of the designer.
  • Strategy 2: Introduce the normalize.css source code and build on it, overriding the default value with your own CSS when necessary.
  • 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.

    For more details on the default UA style:

  • WHATWG suggestions for rendering HTML documents
  • Internet Explorer User Agent Style Sheets
  • CSS2.1 User Agent Style Sheet Defaults
  • Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

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

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    Is HTML easy to learn for beginners? Is HTML easy to learn for beginners? Apr 07, 2025 am 12:11 AM

    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.

    The Roles of HTML, CSS, and JavaScript: Core Responsibilities The Roles of HTML, CSS, and JavaScript: Core Responsibilities Apr 08, 2025 pm 07:05 PM

    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.

    What is an example of a starting tag in HTML? What is an example of a starting tag in HTML? Apr 06, 2025 am 12:04 AM

    AnexampleofastartingtaginHTMLis,whichbeginsaparagraph.StartingtagsareessentialinHTMLastheyinitiateelements,definetheirtypes,andarecrucialforstructuringwebpagesandconstructingtheDOM.

    Understanding HTML, CSS, and JavaScript: A Beginner's Guide Understanding HTML, CSS, and JavaScript: A Beginner's Guide Apr 12, 2025 am 12:02 AM

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

    How to implement adaptive layout of Y-axis position in web annotation? How to implement adaptive layout of Y-axis position in web annotation? Apr 04, 2025 pm 11:30 PM

    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...

    Gitee Pages static website deployment failed: How to troubleshoot and resolve single file 404 errors? Gitee Pages static website deployment failed: How to troubleshoot and resolve single file 404 errors? Apr 04, 2025 pm 11:54 PM

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

    How to use CSS3 and JavaScript to achieve the effect of scattering and enlarging the surrounding pictures after clicking? How to use CSS3 and JavaScript to achieve the effect of scattering and enlarging the surrounding pictures after clicking? Apr 05, 2025 am 06:15 AM

    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: Essential Tools for Web Developers HTML, CSS, and JavaScript: Essential Tools for Web Developers Apr 09, 2025 am 12:12 AM

    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.

    See all articles