W3C 将 CSS 定义为“一种为 Web 文档添加样式的简单机制”。目前主流的浏览器所支持的 CSS 版本是 CSS 2.0。W3C 的 CSS 2.0 规范在这里:
http://www.w3.org/TR/CSS2/
W3C 正在开发的 CSS 3.0 的一些内容可以在这里找到:
http://www.w3.org/TR/
毫无疑问,CSS 是一种伟大的技术。CSS 为 Web 页面的编写带来了秩序和美感。在经历了痛苦而脆弱的 table 布局的黑暗年代很多年之后,Web 开发者/设计师总算找到了一种坚固而牢靠的布局方法。CSS 为 Web 页面设计带来了阳光! CSS 虽然是非常重要的技术,也是 Web 标准三位一体 XHTML/CSS/DOM 中的成员之一,但是非常遗憾的是,真正熟悉和深入学习过 CSS 的人凤毛麟角,甚至比真正深入学习过 JavaScript 的人还要少。
CSS 最大的威力在于提高页面的重用度。笔者去年带的一个项目,有将近 1000 个页面(主页面、小页面),由于在项目开发初期就有意识地大幅采用 CSS,并且放在与 html 文件独立的 css 文件中。当项目中期客户提出很大的界面修改意见时,两个初级程序员仅仅花费了 3、4 天时间就完成了所有的界面修改。那还是我们刚刚开始采用 CSS 的时候,如果在现在,重用度会更高,开发效率还会更快。
与任何简单易懂的技术一样,CSS 同样容易被滥用。CSS 的价值在于将 presentation 从页面中分离出来,而页面仅仅只含有关于 structure 的部分。纯 CSS 布局与仅包含 structure 的 XHTML 相结合能帮助设计师把 presentation 从 structure 中分离出来,使站点的开发和维护更加容易。不理解这些,就很容易误用或者滥用 CSS。
滥用 CSS 有几个特征:
- 直接在 html 页面的元素中加入大量 style="..."
问题:造成了大量的重复
解决方法:将这些 CSS 放到独立的 css 文件中。定义为 class 或者其它方式以便于重用。
- 使用过多的 class,例如 class="..."
问题:造成了重复
解决方法:使用 CSS 的继承功能,将样式设置到标签上,并且通过继承设置样式的应用的规则。这样就不需要写大量的 class="..." 了。
- 在 html 页面中写大量的 CSS
问题:不利于 CSS 的重用,因为这些 CSS 只能使用在一个页面中
解决方法:将这些 CSS 放到独立的 css 文件中。