啊,过去的日子多美好啊!回想上个世纪,我们只有两款支持CSS的浏览器,而且它们所实现的也只是一套非常有限的规范的一个非常有限的子集,因此你可以很容易地在自己的头脑中建立一幅完整的图景,标记出什么好用、什么不好用。这幅图景包含各个浏览器实现中的各种bug,因为这些实现其实存在着不少的错误和疏忽,有些地方甚至错得离谱。唉,有些bug还涉及非常基础的层面,以致于各浏览器的布局行为完全不兼容,这迫使我们想出对策,反过来利用浏览器自身的解析器bug来变相地纠正这些不一致的行为!

慢着。过去那些日子其实糟透了。所幸它们已经一去不复返了!

就在最近这几年,CSS领域已经发生了极大的好转。(绝大多数)浏览器已经在兼容性上逐渐趋同,它们不兼容的地方几乎都是因为某一家支持了某个特性,而另一家还没支持——这比两家都支持但效果不一样要强多了。规范不仅推动了兼容性的进步,还增加了新的特性,用更加简洁的新方法取代了以前繁琐的技巧。CSS拥有了比以往多得多的特性、强得多的能力;不过我们都知道,功能越强大,复杂度也会越高。这种复杂度甚至并不是有意为之:当你把足够多的工作部件组合到一起之后,不管单个部件看起来有多简单,这个组合体也一定会产生有趣的结果。(关于这个话题的更多内容,请看《乐高大电影》。)

正是由于在无意之中产生的复杂度,CSS获得了种种我们从未期望或设计过的神奇特性,不断带给我们惊喜。在属性与属性的交错之间,在值与值的混合之下,有很多秘密有待发现。你可以通过渐变图案来挖出凹角,让元素产生动画,扩大可点击区域,甚至创建饼图……如今,CSS已经拥有了我多年前梦寐以求的强大功能,它带来的可能性已经远远超越了我当初的想象。很多我原以为绝不可能以简洁易懂的方式表达出来的功能,现在也已成为CSS的一部分(比如动画)。CSS已经进化得如此强大,令我坚信它仍然有很多的秘密等待我们去发现——或许某天你也会有所斩获。

眼下,很多炫酷的技巧已经被世人所发掘,但极少有人能像Lea Verou那样善于探索、乐于分享。从她的博客文章到她的开源贡献,再到她在全球各地所做的生动演讲,Lea在CSS领域已经建立了令人钦佩的知识储备。这本书正是这些知识储备的完美升华。你手里的这本书由这个领域内最顶尖的一位智者精心打造,她将带你领略CSS所能达成的最有趣、最神奇、最实用的技巧。Lea在这本书里为你准备的内容将令你感到充实、愉悦、甚至惊喜。

向前冲,努力探索,别再让这些精湛的技艺沦为失传的秘密!

——Eric A. Meyer, 《CSS权威指南》作者