html表:thead vs th

时间:2011-03-22 17:17:48

标签: html html-table

看起来(根据this page上的示例,无论如何),如果您使用THEAD,则不需要使用TH。

这是真的吗?如果是这样,THEAD对TH的优点/缺点是什么?

7 个答案:

答案 0 :(得分:115)

<thead>标记用于对HTML表格中的标题内容进行分组。 thead元素应与tbodytfoot元素结合使用。

更多:thead

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

  

“此划分使用户代理能够   支持滚动表体   独立于桌头和   脚丫子。打印长桌时   桌头和脚的信息   可以在每一页上重复   包含表格数据。“

另一方面,

<th>用于将特定单元格设置为标题单元格 而不是普通的数据单元。

答案 1 :(得分:47)

当您想要将单元格标记为标题单元格时,

<th>实际上是<td>的替代。

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

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

答案 2 :(得分:11)

ththead内的内容更具体。 th单元格用于指定相应td单元格的标头。实际上,您可以向headers单元格添加td属性,该属性指向th单元格的ID(对于屏幕阅读器)。因此th与该列的td直接相关。

但是,thead可以包含任何信息......通常是它确实包含th单元格,但它也可以包含您认为适当的任何信息作为表格顶部的信息(除了标题之外,因为它也有自己的标记)。

答案 3 :(得分:6)

<thead>的特殊之处在于它可用于在打印版本中重复页面顶部的标题行。

答案 4 :(得分:6)

<强> <thead>

表行可以分别使用THEADTFOOTTBODY元素分组为表头,表脚和一个或多个表主体部分。这种划分使用户代理能够独立于桌面和桌脚支持滚动桌面。 打印长表时,可能会在包含表数据的每个页面上重复表头和脚信息。

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

如果存在,则每个THEAD,TFOOT和TBODY都包含一个行组。每个行组必须至少包含一行,由TR元素定义。

<强> <th>

表格单元格可能包含两种类型的信息:标题信息和数据。这种区别使用户代理能够清楚地呈现标题和数据单元格,即使在没有样式表的情况下也是如此。例如,可视用户代理可以使用粗体字体呈现标题单元格文本。语音合成器可以使用不同的语音变形来呈现标题信息。

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

  

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

答案 5 :(得分:3)

据我所知,除非你使用CSS来指定渲染的差异,否则渲染没有区别。 <tr>内的<thead>将与<th><table>内的<tbody>呈现相同。

答案 6 :(得分:0)

这里没有严格的规定。 <thead>元素只是对列和行进行分组的另一种方式,就像<tbody><tfoot>一样。因此,您有更多的脚本和格式化可能性。