前言

对网页设计师来说,这是一个激动人心的时刻!互联网已经囊括了几乎所有媒体,有线电视、CD和DVD已经被Hulu、Netflix、Pandora和Spotify等这些按需取用的在线服务取代。

当然,访问这些媒体的设备同样异彩纷呈。有传统的台式电脑、笔记本电脑,还有平板电脑、智能手机,甚至60英寸的大屏幕电视。

而保障所有这些设备和媒体顺畅运作,有一套全新的技术标准:HTML5、CSS3和JavaScript。

五年前,在写作本书第2版的时候,曾经出现过一种死板又复杂的HTML标准——基于XML的XHTML。由于XHTML难以适应千变万化和快速发展的互联网开发需求,苹果、谋智和欧朋联手组建了Web Hypertext Application Technology Working Group(WHATWG,Web超文本应用技术工作组)。这个组织的宗旨,就是让W3C为推广XHTML标准而抛弃的HTML 4起死回生。然后,我们就看到了涅盘重生的HTML5。过去三年间,HTML5迅速取代XHTML,在Web设计与开发领域获得了广泛认同。

HTML5是为今天的多媒体互联网而生的,因此它提供了一整套API,支持视频、音频、图形、地理定位、数据存储等等。HTML5还为结构化文档提供了很多新的元素(sectionarticlenav,等等)。而在此前,没有什么语义的div外加标识性的类名和ID,曾经顶替过这些新元素的角色。但顶替实非长久之计,它们会限制标记本身的语义和可移植性。

在HTML标准从HTML 4到XHTML,再向HTML5过渡的过程中,CSS3则取得了越来越多浏览器的支持。作为网页美容工具箱,CSS3吸纳了大量的建议。由于规模实在太大,于是就分成了众多模块,分别由不同的团队负责每个模块的制定工作。

经过了长久的等待,我们终于可以使用CSS3的新功能了,比如说渐变、过渡、变换、阴影、圆角,等等。不过,不少使用旧版本浏览器的用户恐怕还是无法体验到这些新的“特效”。对不完全支持CSS3的浏览器,可以使用Modernizr这个JavaScript文件来检测出它们到底支持或不支持哪项功能。对于不支持的功能,可以写一些后备代码(替代代码)或者使用腻子脚本(模拟CSS3功能的JavaScript代码)。细节就不在这儿说了,看本书附录吧。

今天的互联网不仅变得更加“亲民”,而且相对以往,开发人员的生活也轻松不少。就拿现在这本书来说吧,写作和编码花了我几百个小时的时间,无数个白天和黑夜,还有不计其数杯咖啡。但我的感觉就像是参加一个庆祝聚会。因为在示例和代码的背后,本书实际上代表了当今Web设计领域最前沿的成果,而这些成果曾经是很多人翘首企盼的美好未来。曾经的梦想如今已成为现实。因此,要感谢Jeffrey Zeldman、Ian Hicks,还有很多我说不上名字来的人,正是他们的努力和坚持,才让曾经的Web标准化之梦终于成真。这种感觉,就像一个爬山的人,一步一步艰难地向上走,而突然有一天发现自己已经爬到了山顶一样。想想看,这是一个多么大的突破呀:以前,即使要写一个最简单的布局都必须考虑旧版浏览器,为此我得花数页篇幅向读者解释那些“歪招儿”,但现在我既可以省下我的笔墨,也可以不再浪费了宝贵的纸张了;以前,要写出一个阴影或圆角效果来,我得机关算尽地组织复杂的图片和嵌套的DIV,但现在只要一行CSS代码就可以搞定了;以前,辛辛苦苦写好一个页面,在不同浏览器里看起来往往非常不一样,但现在所有新版本浏览器都能完整一致地呈现它了。

所以,这个新版本是面向未来的。我没有像写本书的前两个版本那样,连篇累牍地跟大家讲怎么解决浏览器的不兼容问题,而是尽量聚焦于HTML5、CSS3以及现代浏览器所能实现的新功能。Internet Explorer 9、Firefox、Chrome、Safari,还有Opera(对了,它会自动更新),这些浏览器的行为能够保持一致。而旧版本浏览器(尤其是IE8及更低版本)的用户与日俱减。至于怎么为这些过时的家伙提供服务,大家看附录。本书的主体内容讲的只是今天和未来的CSS。

只需了解最基本的概念

要掌握CSS,不需要你才华横溢,也不需要你是编程高手。如果你很有才华也有编程经验,那当然更好。本书只要求你对HTML和CSS有基本的概念,了解一些最佳实践。然后,你可以通过本书夯实自己的基础,加深自己对CSS的理解。CSS3涉及的功能太多了,有一些本书连提都没有提到。不过没关系,相信你只要把本书读懂、吃透,自己学会使用那些新玩艺儿绝对不在话下。当然啦,读者通过自学丰富自己的知识和技能,也是本书作者(也包括译者)由衷期盼的。

下载代码,别自己敲

从本书网站上可以下载本书所有示例的代码,网址为:http://www.stylinwithcss.com。我建议大家下载,不光是因为下载简单省事儿,还因为我可能会在发现问题后更新这些代码。另外,也欢迎大家到我的网站上提交勘误和问题。这个网站有我的博客,欢迎光临,也许你能从中得到有用的信息,或者受到一些启发。当然,更希望大家看完文章后给我留言、写评论。

最后,感谢你把这本书买回来。希望这本书能真正帮到你,特别是能够帮你实现自己的Web之梦。