这里的关键点是使用它们进行布局。表格的表格没有任何问题data, 提个醒。这就是他们的目的。
但是,当您使用表格进行布局时,您会创建一个非常严格的页面结构,该结构通常不能很好地适应不同的屏幕尺寸、用户代理(例如盲人的移动浏览器或屏幕阅读器)。特别是在后一种情况下,您会破坏任何顺序应向用户朗读其中的内容)。不幸的是,表格仍然是布局页面的最强大的机制之一,因为几乎没有什么不同的实现,而且它们完美地工作了十多年——CSS在这里是完全不同的事情。
但基本上可以归结为:
Tables
- 违反了内容和呈现的区别
- 从长远来看是笨拙且难以维护的,特别是当尝试以类似的方式更改多个页面的布局时
- 没有很强的语义,这对于可能仅依赖朗读文本的受损人士来说很重要。此处逐行、逐列读取表格,这在基于表格的布局中几乎总是没有多大帮助
CSS布局
- 更难做到正确(至少对于演示而言)
- (有时)允许内容和呈现清晰分离。请注意,有时您经常必须在 HTML 中使用多个容器元素,以允许某些布局和样式正常工作,因为 CSS 有一些限制
- 允许底层标记有更好的语义iff你不盲目使用
<div>
and <span>
。有许多标签都有意义,应该这样使用。例如,不要使用<div class="heading1">
当你可以使用<h1>
.