重回用 Table 作網頁排版的舊路?

Sitepoint 的新書 Everything You Know About CSS Is Wrong 介紹了一種新的網頁排版技術 CSS Tables,利用了 CSS 最新的 display 屬性,不使用 Table Tags 也能做到相類效果。詳細的介紹可看 Digital Web 的書本節錄。 這方法和近幾年網頁設計傾向不使用 Table Tags,甚至概念亦相當不同,我想這是書名這樣大膽,說人人都錯的原因。

這書推出後在網頁設計的圈子引發很大的討論,最大的爭論是究竟用 Table 這概念作為網頁排版是否一個好方法呢?

用 Table 的好處

用 Table 當作排版的好處是易學易明,小學生也可以很輕易地畫一個複雜的 Table,把內客排得好看。反觀使用一個一個 Block 來儲著內容,再任意地放在畫面的不同位置,看似彈性更大,不過礙於瀏覽器不相容,結果走位的情況很難避免,需要更高的技術。

用 Table Tags 和 display:table 之別

首先重溫一下用 HTML 的 Table Tags 來排版的種種問題,其中最為詬病之處是使用極多 Tags,令檔案變得不必要的大,而日後修改亦難。而更重要的一點是,很多時都會在 Table Tags 內直接設定屬性,例如使用 bgcolor、valign 等,設計和內容是分不開的,加重了修改大量相同網頁的工作。此外用 Table Tags 作排版亦不乎語義網的要求。

用 display:table 的方式創製 Table 作排版之用,其最大好處是可以令設計的元素用 css 設定,而亦不違反語義網的要求 (其實只不過是 Div Tag 是中立,實際上也不見得好很多),可惜使用的 Tags 數目則不會減少很多,只是全用 Div Tag 取代 (不過有時某些網頁設計師為了做到一個效果,不自覺地用上大量的 nested table,理論上是可以避免的)。

用新方法好嗎?

使用上述的方法,可以用一個簡單的 Table 概念,又解決了傳統 Table Tags 的問題,實在是一個不錯的選擇… 如果有這一個選擇。要知道,IE 要到未推出市場的 IE8 才會支援 display:table 屬性,所以實際上來說,還是不要想吧。到今天我還常常收到客戶的要求,就是一定要 IE6、甚至是 IE5.5 看得到才收貨。

css3 和 HTML5 (全都是未來的技術) 都有涉及網頁排版的改變,然而所有的技術,最終都要各大瀏覽器品牌加快步伐配合,網頁設計軟件的加入,網頁設計師才會願意使用。

加入書籤:

歡迎發表回應或 訂閱本站網誌

留言

未有留言

寫下留言

(必須)

(必須,不會顯示)