当然,CSS 总会有些事情做得不如表格好。
比如说你有个黑色的导航条,当你希望把它延伸到整个页面那么长的时候。 如果用表格,简单得很,给 <td>
一个黑色背景就行 了。
没错,我们可以用 CSS 完成这个,但需要一种不同的思维方式。
如果我们的导航条的 div
一个黑色的背景,那么黑色只会 延伸到导航内容结束为止。可在大部分页面中,内容总是比导航条长的, 这就不大好看了。
所以我们只好把一个黑色的 GIF 图片放在 div
里边,并 为 div
给足左侧的 padding,可一旦导航条比内容长的时 候,这又不好办了。
另一种“解决”的方式把黑色的 GIF 放在 <body>
的背景中 (而内容的 div
中设置别的背景颜色),这个方 法本是不错的,可万一你又想把 <body>.
的背景设 置成别的颜色,那就完蛋了。
或者我们可以把图片放在一个专门的“包裹” div
里。 然而这毕竟又把非语义性的麻烦引入了我们的标记中。
而且当然,在导航条的宽度是变动的时候如果要用小块图片拼成背景,CSS 肯定无法胜任。
就像我们前面说的,表格总有做得比 CSS 好的地方。但你总归应该问问自己, 表格带来的麻烦是否值得用它带来的那点利益来交换?