html表格:thead vs th

它看起来像(根据这个页面上的例子),如果你使用THEAD,你不需要使用TH。

真的吗? 如果是这样,THEAD vs TH的优势和劣势是什么?

<thead>标记用于将标题内容分组到HTML表格中。 thead元素应该与tbodytfoot元素一起使用。

更多: thead

您可以使用<thead>来封装整行(或多行),将它们指定为表头。 根据规范,

“该部门使用户代理可以独立于桌面和桌面脚支持桌面滚动,当打印长桌时,桌面和桌脚信息可以在包含桌面数据的每个页面上重复。

另一方面,用于将特定的单元格作为标题单元格而不是普通的数据单元格。

如果你想使用<thead><th> ,不要忘记在<tr>里面嵌套<th> <tr> 。 否则代码可能无效。
例:

 <table> <thead> <tr> <th>Season</th> <th>Goals</th> <th>Assists</th> </tr> </thead> <tbody> <tr> <th>2009-2010</th> <td>25</td> <td>43</td> </tr> <tr> <th>2011-2012</th> <td>40</td> <td>20</td> </tr> </tbody> </table> 

th比起可能存在于内部的东西更具体。 th单元格是指定相应td单元格的标题。 事实上,你可以添加一个headers属性到一个td单元格,它指向一个单元格的id(用于屏幕阅读器)。 所以th直接关系到那个列的td

然而,他们可以包括任何信息…通常是的,它包括了th单元格,但是它也可以包含任何你可能认为适合作为表格顶部的信息(除了标题,因为它有自己的标签)。

<thead>是特别的,它可以用来在打印版本中重复页面顶部的标题行。

<thead>

表格行可以分别使用THEADTFOOTTBODY元素分组到桌面, TFOOT和一个或多个表格主体部分。 这个部门使得用户代理可以独立于桌子的头部和脚部来支持桌子的滚动。 当打印长表时,表格头部和脚部信息可以在包含表格数据的每个页面上重复。

表头和表脚应该包含关于表格列的信息。 表体应该包含表格数据行。

当存在时,每个THEAD,TFOOT和TBODY包含一个行组。 每个行组必须至less包含一行,由TR元素定义。

<th>

表格单元格可能包含两种types的信息:标题信息和数据。 这种区别使用户代理可以清晰地呈现标题和数据单元,即使没有样式表。 例如,可视用户代理可以用粗体显示标题单元格文本。 语音合成器可以呈现具有明显的语音转折的标题信息。

TH元素定义包含标题信息的单元格。 用户代理有两个可用的标题信息:TH元素的内容和abbr属性的值。 用户代理必须呈现单元格的内容或abbr属性的值。 对于视觉媒体,当没有足够的空间来呈现细胞的全部内容时,后者可能是适当的。 对于非可视化媒体,当这些媒体与其所应用的单元格的内容一起呈现时,abbr可以用作表格标题的缩写。

资料来源: http : //www.w3.org/TR/html4/struct/tables.html

据我的经验可以看出,渲染没有区别,除非你使用CSS来指定渲染的差异。 <thead> <tr>内部的<tr>将呈现与<table><tbody>内部的<th>相同的内容。

这里没有硬性规定。 <thead>元素只是另一种分组列和行的方式,就像<tbody><tfoot> 。 所以你有更多的脚本和格式的可能性。