Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsApr 27, 2026·3 min de lecture

Normalize.css — Modern CSS Reset for Consistent Cross-Browser Rendering

A small CSS file that normalizes default browser styles, providing a consistent baseline across browsers without stripping useful defaults.

Introduction

Normalize.css fixes inconsistencies in default element styling across browsers. Unlike a traditional CSS reset that strips all styles to zero, Normalize.css preserves useful defaults and only corrects the parts where browsers disagree, resulting in a sane starting point for any project.

What Normalize.css Does

  • Corrects display and box-sizing inconsistencies for HTML5 elements
  • Normalizes default typography, margins, and padding across browsers
  • Fixes rendering bugs in form elements (inputs, buttons, selects) across engines
  • Preserves useful browser defaults rather than zeroing everything out
  • Provides inline documentation explaining each rule and the bug it addresses

Architecture Overview

Normalize.css is a single CSS file of about 300 lines organized by element category: document, sections, grouping content, text-level semantics, embedded content, forms, and interactive elements. Each rule targets a specific cross-browser inconsistency and includes a comment citing the affected browser. It applies minimal overrides so downstream styles can build on a predictable base.

Self-Hosting & Configuration

  • Include via npm, CDN, or copy the CSS file directly into your project
  • Load it as the very first stylesheet before any other CSS
  • Safe to use alongside CSS frameworks — many frameworks already bundle it internally
  • Customize by forking the file and removing sections you do not need
  • Pairs well with a complementary box-sizing reset (*, *::before, *::after { box-sizing: border-box; })

Key Features

  • Extremely small file size (under 8 KB unminified)
  • Battle-tested across Chrome, Firefox, Safari, and Edge
  • Preserves accessibility defaults for focus outlines and form elements
  • Thoroughly commented source explaining every rule
  • No dependencies — a plain CSS file with no build step required

Comparison with Similar Tools

  • CSS Reset (Eric Meyer) — strips all defaults aggressively; Normalize.css keeps useful ones
  • sanitize.css — opinionated extension of Normalize.css with additional best-practice defaults
  • modern-normalize — slimmed-down fork targeting only modern browsers
  • Tailwind Preflight — Tailwind's built-in reset based on modern-normalize with extra opinionated resets
  • Reboot (Bootstrap) — Bootstrap's reset layer, itself built on Normalize.css

FAQ

Q: Should I use Normalize.css or a CSS reset? A: Normalize.css is preferred when you want consistent defaults without losing useful browser styles. A full reset is better if you plan to define every style from scratch.

Q: Does it conflict with Tailwind CSS or Bootstrap? A: Both frameworks include their own normalization layer. If you use them, you typically do not need to add Normalize.css separately.

Q: Is it still maintained? A: The core library is stable. Cross-browser bugs have converged enough that updates are infrequent, but the project remains the reference standard.

Q: How do I include it in a React or Vue project? A: Install via npm and import it in your entry file before any other styles.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires