normalize.css is a small CSS file that provides a consistent baseline of default styles across browsers without erasing useful browser opinions. Rather than a “hard reset” that zeroes everything, it preserves sensible defaults for elements while fixing inconsistencies and edge cases that vary between engines. The project documents why each rule exists, targeting real-world quirks such as form control alignment, typographic defaults, and HTML5 element rendering. It is deliberately minimal and stable, making it a safe foundation for both custom design systems and heavyweight frameworks. Because it normalizes only what’s necessary, it plays well with component libraries and avoids surprising overrides that can lead to fragile CSS. Teams adopt it to reduce cross-browser bugs, speed up layout work, and start with predictable typography, spacing, and element behavior.
Features
- Preserves useful browser defaults instead of resetting all styles
- Normalizes styles across a wide range of HTML elements
- Fixes common browser inconsistencies and bugs (e.g., font inheritance, pre styling)
- Improves usability with subtle enhancements for text elements like sup, sub, code
- Explains what code does using detailed comments
- Improves usability with subtle modifications