有什么好处

时间:2010-04-23 16:48:57

标签: html

使用thead而不仅仅是td有什么好处?如果有好处......

10 个答案:

答案 0 :(得分:19)

HTML中的theadtbodytfoot元素用于根据内容将表行分组为逻辑部分。您有两个主要原因需要这样做:

  1. 允许滚动身体 独立于标题和/或 页脚

  2. 为了更容易应用不同的 风格规则不同 表的各个部分。

答案 1 :(得分:4)

  

表行可以分组到表中   头,桌脚,以及一个或多个   桌子部分,使用THEAD,   TFOOT和TBODY元素,   分别。这种划分使   用户代理支持滚动   桌子身体独立于   桌头和脚。当长桌   印刷,桌头和脚   可以在每个上重复信息   包含表格数据的页面。

     

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

http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3

答案 2 :(得分:4)

我还没有在这里看到它,但另一个好处是,在大多数浏览器中,您实际上可能无序地编码<thead><tfoot><tbody>,它们会出现在桌子上的正确位置。虽然模糊不清,但我之前已经利用了这一点。例如:

<?php $count = 0; ?>
<table>
  <tbody>
    <?php foreach($foo as $f):?>
      <tr>...</tr>
      <?php $count++; ?>
    <?php endforeach; ?>
  </tbody>
  <thead>
    <th>Entries (<?=$count?> total)</th>
    ...
  </thead>
</table>

我想在标题中列出总行数,因此我在foreach()中增加了一个计数器并将<thead>放在底部,这样我就可以使用{{1}的值在我的标题中。

当然不是主要的好处,但仍然是一种好处。

答案 3 :(得分:2)

使用theadtfoottbody,您可以将特殊格式应用于表格的各个部分。例如,您可以在表格的所有打印页面上包含页眉和页脚,也可以在tbodythead时滚动tfoot滚动。 {{1}}将保持不变。

答案 4 :(得分:2)

theadtd无法比较。 thead只代表一个表头,td代表一个表格。

<table>
    <thead>
        <tr><th>head1</th><th>head2</th></tr>
    </thead>
    <tbody>
        <tr><td>row1col1</td><td>row1col2</td></tr>
        <tr><td>row2col1</td><td>row2col2</td></tr>
    </tbody>
</table>

另见w3schools tutorial

语义上的好处是您可以将表头与表体(如果有的话,还有可以由<tfoot>表示的表格页脚)分开。技术上的好处是你可以单独设置它们的样式,例如通过给<tbody>一个固定的高度和一个溢出来轻松实现一个带有可固定页眉/页脚的可滚动主体的表格。 不幸 MSIE是唯一不支持它的浏览器。

答案 5 :(得分:0)

THEAD旨在包装所有标题行。它的对应物是TBODYTFOOT。如果您想通过CSS或JavaScript区分这些行,它们非常有用。

答案 6 :(得分:0)

<thead> <tbody><tfoot>标记表格的特定部分(您将行放在中)作为标题,正文和页脚的标题表。这可用于在每个表上重复页眉和页脚(某些浏览器默认情况下执行此操作,其他浏览器似乎需要帮助)。见Repeat table headers in print mode

答案 7 :(得分:0)

来自w3c规范:

  

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

希望这有帮助。

答案 8 :(得分:0)

thead并非经常使用。它标识table的一部分是“标题”,并且对用户可能希望看到此片段的浏览器提示,即使他上下滚动表格的其余部分。 http://www.w3schools.com/tags/tag_thead.asp

答案 9 :(得分:0)

这是我发现的一个优势。假设您要打印一个包含大量行的网页,整个表格可以放在多个页面中(当您希望打印时)。 thead实际上会导致浏览器在所有页面(表格扩展到的页面)中包含表格标题,从而提高可读性。你可以阅读它here