我有一个页面底部有 3 列链接。每一列都放入一个 div 中,所有三个 div 都包装在一个以页面为中心的大 div 中。这是更适合表格的东西还是表格是工作的错误元素?
6 回答
经验法则是:
使用 Divs 进行布局,表格用于表格数据。
在旁注中,查看“经验法则”一词的词源,非常幽默。
HTML 背后的主要原则是“标记”数据的含义。
我将使用上述原则作为指导:
如果您有 3 列只是因为它看起来不错 - 那么您的列没有意义,您应该尝试使用 DIV(它们是无意义的“容器”元素)。
如果您有 3 列,因为有 3 类链接,那么 TABLE 就可以了。想象一下,如果您为每个链接列表提供标题 - 这使得带有 THEAD 的 TABLE 成为必要。
事实上,每一列都是一个“无序列表”——它转化为一个带有 LI 元素的 UL 元素。
由于您有一个链接列表,因此您当然会使用 A 元素。
所以从第一性原理来看,你应该有这样的结构:
<DIV> or <TABLE> (with <TR>/<TD>)
-> <UL>
----> <LI>
-------- <A>
您想问自己的问题是,您的链接是任何表格数据的一部分吗?
如果是,表是您的选择。如果没有,那么你应该使用 div。
使用语义正确的元素来创建页面很重要,尽管其他元素可能会产生相同的效果,而且可能更省力。
至于您的链接,它们似乎不是表格的一部分。我建议使用 div 和适当的 css。
jrh
我不认为桌子是一个好的选择。在我的书中,仅仅拥有三列并不构成表格数据。使用一些干净的标记和良好的样式表,您可以有一种更灵活的方式来完成此任务。如果您使用左浮动 div,只需给它们一个百分比宽度,以便它们填满父容器(100 / 元素数)%。这样,如果您想添加另一列,只需更改一个简单的标记即可更改单个样式表。这样您就不必处理浏览器表格的不稳定问题,并且在其设计中拥有更大的灵活性 - 最重要的是,您可以在不离开样式表的情况下完全更改布局。
与其他答案相反,表格可能是一种语义解决方案。如果这三个部分彼此不同并且有一个标题,您可以使用<th>
标题和<td>
每个链接。我认为这是完全语义化的。