使用thead而不仅仅是td有什么好处?如果有好处......
答案 0 :(得分:19)
HTML中的thead
,tbody
和tfoot
元素用于根据内容将表行分组为逻辑部分。您有两个主要原因需要这样做:
允许滚动身体 独立于标题和/或 页脚
为了更容易应用不同的 风格规则不同 表的各个部分。
答案 1 :(得分:4)
表行可以分组到表中 头,桌脚,以及一个或多个 桌子部分,使用THEAD, TFOOT和TBODY元素, 分别。这种划分使 用户代理支持滚动 桌子身体独立于 桌头和脚。当长桌 印刷,桌头和脚 可以在每个上重复信息 包含表格数据的页面。
桌头和桌脚应该 包含有关表格的信息 列。表体应包含 表数据行。
答案 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)
使用thead
,tfoot
和tbody
,您可以将特殊格式应用于表格的各个部分。例如,您可以在表格的所有打印页面上包含页眉和页脚,也可以在tbody
和thead
时滚动tfoot
滚动。 {{1}}将保持不变。
答案 4 :(得分:2)
thead
和td
无法比较。 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>
语义上的好处是您可以将表头与表体(如果有的话,还有可以由<tfoot>
表示的表格页脚)分开。技术上的好处是你可以单独设置它们的样式,例如通过给<tbody>
一个固定的高度和一个溢出来轻松实现一个带有可固定页眉/页脚的可滚动主体的表格。 不幸 MSIE是唯一不支持它的浏览器。
答案 5 :(得分:0)
THEAD
旨在包装所有标题行。它的对应物是TBODY
和TFOOT
。如果您想通过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