-1

当我写 table 时,有没有使用<tbody> <thead> <tfoot>而不是tag 的意义?<div>因为我看不出两者有什么区别。我已经尝试过使用它们,但在视觉上没有区别?任何解释都会很好。

4

2 回答 2

0

在允许使用 thead、tbody 和 tfoot 的地方不允许使用 div。

放在那里会强制浏览器执行错误恢复。

根据此示例,这可能会导致 div 被完全忽略(它试图在中间 tr 元素周围放置一个 div):

截屏

于 2018-05-03T11:48:47.860 回答
0

首先; a<div> 是不允许的,尽管许多浏览器是可以原谅的,并且仍然会尝试渲染表格。

此外; ,和标签不是强制性的,您可以将<tbody>' s 作为元素的直接子元素,这一切都很好。<thead><tfoot><tr><table>

但要回答你的问题;你为什么要使用它们?语义和样式。

至于第一个;html 是有意义的。标签的内容,无论它们是隐含的还是显式的,都会转化为我们人类可以理解的东西。它可以是一个段落、一个图像、一个链接,等等。除了你我,搜索引擎也理解语义;他们可以将标题(例如<h1>)与段落区分开来,并在对页面进行排名时赋予标题内容更多的权重。

这同样适用于表格数据;<thead>您将在其中放置列名,但实际数据驻留在<tbody>元素中,并且将被搜索引擎视为如此。

一个很好的副作用是您可以使用 css 来设置与正文不同的表格页眉和页脚样式,例如;

thead { font-size: 2em; } /* Big fonts for column names */
tbody { font-size: 1em; } /* Normal fonts for data */
于 2018-05-03T11:51:49.730 回答