李锟为ZEN OF CSS写的推荐序

 
推荐序
 
国内的Web开发技术与美国相比大约相差3年左右,应用Web标准的差距也大约是3年左右。今天,在积累了很多开发经验和教训之后,国内的一些网站已经认识到基于table的布局的严重缺点,并且已经在尝试摒弃这种旧的方法,转向完全的CSS布局。
 
作为一个老的Web开发者,我还记得浏览器大战的混乱年代所遗留下来的恶果。在2001年,我在德国的一家小型软件公司工作过半年,公司位于德国黑森州一个风景如画的小镇。我的主要工作之一是做DHTML开发。在国外做Web开发,老板的要求要苛刻的多。我所开发的各种动态页面效果必需要支持多种浏览器,在多种浏览器中要获得几乎完全相同的表现效果。在当时来说,主要要支持的浏览器就是IE4和Netscape4,这是我们当时的客户群使用的最多的两种浏览器(当时的德国人还在广泛使用这两种老旧的浏览器)。
 
有一天,老板让我实现一个常见的“走马灯”的页面效果。老板可能觉得这是一件非常容易的工作,然而它却耗费了我两个深夜的加班。IE4和Netscape4各自有一套不同的页面模型,实现相同的功能,必需要开发两套不同的代码,分别进行测试。因此支持两种浏览器,就意味着双倍的工作量。IE4和Netscape4都不支持CSS,布局完全使用table套table,页面代码搞的相当复杂。
这样类似的事情在当时做过很多次,最后我的DHTML开发水平放在国内也能算是个高手了。然而我却没有多少自豪感,我感觉自己的大量时间似乎并不应该浪费在与IE4和Netscape4这两个怪物的搏斗上,还有很多更加有趣的事情等着我去做。
 
俱往矣,忆苦之后再来思甜。今天,主流的浏览器都已经能够很好地支持Web标准,主要就是XHTML/CSS/DOM这三大标准。今天做Web前端(即浏览器端)的开发,在大多数场合,都只需要写一套html、一套css、一套JavaScript就可以正常地运行在所有主流的浏览器中。随着浏览器新版本对于Web标准支持的改善,少数必需要编写特定于某种浏览器代码的场合会越来越少。
 
在这三个标准中,国内的Web开发者掌握的最差的就是CSS。基于table的布局的惯性思维严重阻碍了Web开发者对于CSS的接受。不过另外一个原因也跟国内缺乏能反映出CSS标准最新发展成果的高水平著作有关。大多数国内的Web开发者学习CSS的主要方法是通过试错法,而且很多人只在一种浏览器的某一特定版本(通常是IE6)上测试页面的表现。试错法是一种效率最低的学习方法,而且很多时候得到的经验和结论有可能是错误的。有鉴于此,人民邮电出版社适时出版了《精通CSS》和《CSS设计禅机》两本代表国外CSS应用最高水平的著作。这两本书对于国内的Web开发者而言,正是他们当前所急需的书籍。
 
虽然W3C的CSS2规范(http://www.w3.org/TR/REC-CSS2/)在1998年就成为了正式的规范,但是因为主流的浏览器对于CSS的支持实现的非常缓慢,实际上CSS被广泛应用是在2001年之后的事情。那个时候,至少两大市场占有率最高的浏览器IE和Mozilla的最新版本(IE6和Mozilla1.0)对于CSS都已经有了不错的支持。能够完全支持CSS1,并且部分支持CSS2。2003年,Web标准项目(WaSP)的核心成员Dave Shea创建了CSS禅意花园网站,很快就成为了普及Web标准的指标性网站,成为了广大Web设计师学习模仿的目标。直到今天,CSS禅意花园网站仍代表着应用CSS的最高水平,而《CSS设计禅机》则是CSS禅意花园网站设计师多年心血的结晶。
 
毫无疑问,CSS是一种伟大的技术,它使得对于HTML的应用回到了它的本原——表达页面的结构含义而非表现含义。CSS也是目前Web开发中最为成熟和可靠的表现技术。XHTML/CSS/DOM三大标准清晰地划分出了页面中的结构/表现/行为,将三部分分别放在html、css、js文件中。清晰地划分出页面的这三个部分,现在成为了对于DHTML组件设计优劣的一个判断标准,这个标准被称作Unobtrusive。通过应用CSS来完全控制页面的表现,可以完全将页面的结构和表现分离开,实现页面的结构和表现最大限度的重用。最终带来的好处有这些:
1. html文件和css文件达到了最简化,文件尺寸相比基于table布局实现相同的表现效果会小很多。
2. 实现了高度重用的单个css文件可以控制多个html文件的布局和表现,维护和改版起来非常容易,也非常容易做到换肤等效果。
3. 这样的页面更能受到搜索引擎的青睐。因为这样的页面标签达到了最简化,搜索引擎最喜欢这样的页面,因此可以预见这样的页面会得到更好的搜索引擎排位。
 
   全面转向基于CSS的页面布局,这是国内Web开发领域一场很大的变革。这场变革将会改善Web应用的可用性,并且使得Web开发团队更加敏捷。尤其对于Web 2.0网站的开发者而言,CSS是他们必需精通的技术。让我们共同努力,促使这场变革尽快顺利完成。CSS禅意花园网站和《CSS设计禅机》已经充分展示了其设计师的智慧、创意和艺术修养。接下来呢,是不是该轮到您露一手了?:)
  
李锟
2007年元宵节 于上海
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值