[Other]用Table排版的問題

[Other]用Table排版的問題

為何不要用Tabe來進行畫面的排版

這篇文章我在2007年寫的,當初在做網頁效能的調校時發現,Table排版有以下問題:

  • 使用Table排版,在Render HTML時會多出許多為了設定版面位置的HTML碼
  • Table的長寬度若未明確指定清楚,在render時是由IE動態決定,這很耗損CPU資源
  • 用Table排版會讓網頁維護起來更加困難(不好排)
  • Table-based的網頁對使用者使用上並不友善,且透過手機及PDA存取並不容易

當初會衍生這樣的議題主要是因為我們的元件當時為了美觀,整個元件都是用Table/TableRow(TR)/TableCell(TD)來做排版,當一個畫面的欄位達上百個時,等於需要在畫面上畫出100個Table,這時候發現比較差勁的電腦,CPU使用率會瞬間飆升到100%,然後畫面整個render完的速度會比正常的機器慢上許多,後來我將Table改成DIV+CSS來進行版面配置,CPU使用率過高的問題就解決了。

下面這篇文章是當初找到屏棄Table改用CSS的勸世文,大家可以參考看看。

Why tables for layout is stupid:problems defined, solutions offered

另外附上保哥的另一篇文章給大家參考:善用 CSS 中的 table-layout 屬性加快 Table 的顯示速度

游舒帆 (gipi)

探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。