理解CSS规范

你不需要成为程序员,也不需要是CS专业才能理解CSS规范。你不需要年满18岁,也不需要有学士学位。你只需要非常注重细节,非常有耐心,并且非常彻底。

规范不是使用手册。糟糕的文案没有任何借口,如果你发现有问题,请投诉。不过规范确实有特定的读者群体。

从零开始

J. David Eisenberg为网页设计师写了一篇很有用的如何阅读W3C规范。如果你平时不常读技术规范,我建议你先从这篇文章开始。

另外,如果你对CSS完全不了解,建议你先学习CSS是什么,以及如何使用它。一个很简短的教程,可以从简介了解CSS 2.1。如果想要更全面、更友好的入门介绍,可以找一本专注于CSS基础而不是设计的CSS学习书籍。可以在文本编辑器中动手练习CSS,尝试设计几个主页原型,了解选择器优先级和外边距折叠。给网页加上* { border: 1px dashed gray; },这样你就能看到盒模型。如果你能大致了解这些内容的方向,会更容易把规范中的各种技术细节串联起来。

基础知识学习

理解CSS规范需要了解规范所依赖的背景、术语和基本概念。如果你想真正理解规范,你需要深入理解下面列出的规范章节:

  1. 首先,你可以通过阅读当前的CSS快照来了解所有规范的整体背景。你也可以阅读CSS设计原则
  2. 然后,阅读CSS 2.1第一章,了解规范的组织结构,以及CSS 2.1第3.1节(定义),认识一些常用术语。
  3. 仔细阅读以下CSS规范章节,因为这些章节的概念对于理解其他规范内容至关重要: 在解读标准中较为晦涩的部分时,你可能需要反复查阅这些章节。

一个重要细节

有些CSS规范,比如CSS 2.1,存在勘误——即规范发布后做出的修正。在解读规范时,请务必查阅勘误! 随着测试和实现过程中发现问题,规范仍在不断修订。这些修正还未被纳入规范正文,但它们对于正确理解规范至关重要。勘误页面会在规范顶部有链接。

深化理解

深入理解规范的最佳方式是实际操作规范本身(不仅仅是技术)。最佳途径是编写测试用例,并根据规范解释这些用例为何正确。你可以自己编写测试用例练习,但如果参与QA项目,不但能学到更多,还能帮助CSS社区(作者、实现者和规范制定者)。你可以通过编写测试用例、改进测试用例、制作测试用例的不同变体,以及回答关于测试用例的规范问题来学习和贡献,例如……

Web Platform Tests项目
WPT项目维护着CSS规范和其它Web平台技术的共享测试套件。
Mozilla项目
Mozilla项目维护着Gecko排版引擎,它是Firefox等浏览器的核心组件。
WebKit项目
WebKit项目维护着WebKit排版引擎,是Safari浏览器的核心组件。
Chromium项目
Chromium项目维护着Blink排版引擎,是Chrome、Edge和Brave等浏览器的核心组件。

提问

如果你阅读了规范后仍有不明白的地方,可以到www-style邮件列表提问。

Elika J. Etemad
Copyright © 1994–2025 W3C® Privacy policy

Last updated Wed 01 Oct 2025 10:17:27 AM UTC