作为一个身处 2008 年末的 Web 设计师,你是否好意思承认自己的代码中使用了 Table,如果是,你是一个有勇气的人,Web 设计是个奇怪的行业,你可以将自己的网站设计得像晚报的分类广告,或者楼道里的开锁广告,但千万别让人知道你使用了 Table,在你的源代码中发现 Table 就像一个销售被人掀起裤脚发现穿了白袜子一样。
Table 是如此丑陋,臃肿,哪怕只显示一段简单的内容,你也需要
这三个基本的标签,每个标签里面还要加上一堆乱七八糟的属性,不像 ,既简单,又整洁,又时尚,它和 CSS 珠联璧合,琴瑟和谐,它们构成最完美的 Box 模型,他们象现实中的箱子,你把东西放进去,然后,很自由地对他们进行排列,厌烦了一种布局,没关系,简单地改动一下 CSS 定义,一种全新的布局便诞生了;不象 Table,Table 像食堂里的餐具柜,一排排,一列列,土里土气,油腻腻的,象我们的父辈,邋遢,什么都往家里拿,胡乱堆在角落里,如果 Div 是小资,Table 就是老三届,他们不属于这个时代。 也就是近几年的事,至多不过三五年,W3C是一个人人都认为重要但人人都不喜欢的组织,他们的官方网站十分丑陋,我敢说平生没见过这么丑陋的网站,但他们的网站是为数不多的可以通过全部W3C标准验证的网站,这意味着,他们的网站在语法上,在结构上,在可访问性上是完美的,虽然依旧十分丑陋。不过这是笑谈,W3C非常重要,否则微软会把全体 Web 开发工程师带到万劫不复的境地,还好,Netscape 死后,涅磐出 Firefox,而 Opera 在 Firefox 横空出世之后虽然没得到任何好处,至少得到了精神上的支持,看到没,终于有大哥出来收拾你。乔布斯复出后,苹果重返昔日的光芒,这时人们才知道世界上还有一个叫做 Safari 的浏览器,所有这一切加在一起,让 W3C 真正有了存在的必要。 W3C 说,Table 可以用来容纳文字,格式文字,图片,链接,表单,以及其它 Table ... 但是,Table 不应该单纯用来做网页布局(Tables should not be used purely as a means to layout document content),理由是,当 Web 被非可视化设备渲染的时候,Table 会出现问题,他们指定是屏幕阅读器以及盲文浏览器,另外,Table 在大型显示设备上会强迫用户左右滚动,因此,Web 设计者应该使用 CSS 而不是 Table。参见 W3C HTML 4.01 关于 Table 的定义。 W3C 说这段话的时候,是1999年12月24日,那时尽管 CSS 早已诞生,但并没有多少人使用,最初的 Web 像一个在线版的文档,并没有成为现在这样的平台,不需要过多过多地考虑布局问题,随着互联网第一次泡沫的形成,涌现出大量的门户网站,门户网站是 Table 布局的始作俑者,因为他们的首页比一整份报纸的所有版面拼接在一起还复杂,Table 在这方面十分顺手,结合 colspan 和 rolspan,你几乎能够实现任何复杂的版面。 这种布局风格在2000年代初,一直到中期仍然十分流行,尤其国内,在大为美的潜意识下,人们把所有能塞到一个页面的东西都塞进了首页,Table 就像一个旧时代的管家,把所有东西虽不能井井有序,但至少是一样不少地编排起来。然而这样的 Web 终于到了让人厌恶的地步,随着搜索,RSS 订阅,以及以博客为代表的个性化 Web 的出现,人们有更多渠道获得信息,而不必去访问那几个让人几乎要晕过去的门户的首页,于是出现了一种清新的,轻量的 Web 风,使用更简单的布局,更明快的配色,大图标,大 Banner,以及更容易阅读的大字体,同时,在这个时候,CSS 已经非常成熟,而 Firefox, Opera, Safari 为代表的浏览器,在遵守 W3C 标准方面要远远好过 IE,人们终于认识到 CSS 的威力。因为 CSS 在布局上,其核心是一个 Box 模型,人们必须为 CSS 找一个可以依附的容器对象。 Div 成为幸运者一方面因为它天生就是 Box 的最佳原型,在语义上,Div 代表页面的一个区域,在外形上,它四四方方,更重要的是,它不像
|