reset.css 清除所有默认样式,适合完全自定义项目;2. normalize.css 保留并统一默认样式,修复浏览器差异,更适合现代开发;3. 多数项目推荐使用 normalize.css,因其兼顾语义化与一致性。

在前端开发中,为了确保页面在不同浏览器中表现一致,通常会在项目初期引入CSS重置样式。常用的方案有 reset.css 和 normalize.css,它们都能消除浏览器默认样式带来的差异,但实现方式和设计理念有所不同。
reset.css:彻底清除默认样式
reset.css 的核心思想是“清零”,它会将所有元素的边距、字体、行高等样式全部重置为统一值(通常是0或无样式),从而抹除浏览器之间的默认差异。
优点是样式干净统一,缺点是开发者需手动为每个元素重新设置基本样式,比如段落间距、标题大小等。
normalize.css:标准化而非清除
normalize.css 不是清空样式,而是让所有浏览器中的默认样式保持一致。它保留了有用的默认样式,并修复了一些常见的浏览器 bug。
立即学习“前端免费学习笔记(深入)”;
- 修正 html5 元素的显示模式(如 article、section 默认为块级)
- 统一文本、按钮、输入框等元素的字体和大小
- 修复部分浏览器对某些元素渲染不一致的问题
- 更适合现代开发,减少重复设置
它更温和,不会破坏语义化标签的默认行为,比如 <em> 依然斜体,<h1>~<h6> 保持不同字号。
如何选择?
如果你希望拥有完全控制权,且项目设计风格独特,reset.css 可能更合适。但大多数现代项目推荐使用 normalize.css,因为它更智能,保留了可访问性和语义化优势,同时减少了重复代码。
目前很多 CSS 框架(如 bootstrap)都内置了 normalize.css 或其变体。
基本上就这些,根据项目需求选一个合适的方案即可。不复杂但容易忽略。


