网页排版: Table vs CSS 争论之我见

                            自从出了 CSS 2,网页排版可以用 CSS 来做。

Table 是传统的网页排版手段,虽然它的初衷并非如此。 
CSS 是新的专门的网页排版手段,好处是简化代码、重用代码、节约流量,打印更漂亮。
理论上讲 CSS 有很多优势,同时它也有不如 Table 的地方,比如做三个分栏,要控制这三个分栏到一个统一的高度没有 Table 那么方便 (我的初步感觉)。

到底谁更好,网上存在着很大的争论。因此,我决定做些自己的调查、分析。

资料:

http://www.webreference.com/authoring/style/sheets/layout/advanced 
http://www.glish.com/css 
http://www.websitetips.com/css/index.shtml


http://davespicks.com/essays/notables.html 这里提到了 CSS 优于 Table 的地方。基本思路是:Take Layout out of presentation。

但是,CSS 也有明显的缺点:

有些事情 Table 做容易,而 CSS 做则发而复杂,例如上面提及的 同等高度分栏,需要用嵌套的 div 来解决。遍框的 pedding 好需要个 table 来处理 等等。 
浏览器的支持还不好,比如很大众化的 IE5 就有些问题。 
网页设计的时候,往往很难摆脱 Table 形成的固有概念。
正象 http://developer.apple.com/internet/css/introcsslayout.html 中说:creating CSS layouts is a learned skill, and that with practice it can become an easy task.

加上网上有很多 CSS 的教程,象

http://www.alistapart.com/stories/practicalcss 
http://www.macromedia.com/devnet/mx/dreamweaver/articles/tableless_layout.html
最终我的策略是:

有机会的时候,应该尽量尝试一下 CSS。 
但是,不能立即全盘转到用 CSS,尤其是项目时间有限的话。
 

                                

查看回复