當然,CSS 總會有些事情做得不如表格好。
比如說你有個黑色的導航條,當你希望把它延伸到整個頁面那麼長的時候。 如果用表格,簡單得很,給 <td>
一個黑色背景就行 了。
沒錯,我們可以用 CSS 完成這個,但需要一種不同的思維方式。
如果我們的導航條的 div
一個黑色的背景,那麼黑色只會 延伸到導航內容結束為止。可在大部分頁面中,內容總是比導航條長的, 這就不大好看了。
所以我們只好把一個黑色的 GIF 圖片放在 div
裏邊,並 為 div
給足左側的 padding,可一旦導航條比內容長的時 候,這又不好辦了。
另一種“解決”的方式把黑色的 GIF 放在 <body>
的背景中 (而內容的 div
中設置別的背景顏色),這個方 法本是不錯的,可萬一你又想把 <body>.
的背景設 置成別的顏色,那就完蛋了。
或者我們可以把圖片放在一個專門的“包裹” div
裏。 然而這畢竟又把非語義性的麻煩引入了我們的標記中。
而且當然,在導航條的寬度是變動的時候如果要用小塊圖片拼成背景,CSS 肯定無法勝任。
就像我們前面說的,表格總有做得比 CSS 好的地方。但你總歸應該問問自己, 表格帶來的麻煩是否值得用它帶來的那點利益來交換?