2013-03-15 97 views
11

当我了解HTML表格时,我没有被告知tbody,thead,tfoot,colgroup。你什么时候该使用它们?我去了W3Schools网站,我了解他们是如何工作的,但不知道何时使用或不使用它们。何时在HTML表格中使用tbody,colgroup,thead等?

+10

尽量避免使用W3Schools。这就是为什么 - http://w3fools.com – Terry 2013-03-15 19:39:20

+2

MDN有这些元素的信息:https://developer.mozilla.org/en/docs/HTML/Element/tbody – 2013-03-15 19:39:43

+0

http://www.w3.org /TR/html401/struct/tables.html – 2013-03-15 19:42:52

回答

8

如果您想提供有关表格的其他信息并组织其中的内容,请使用它们。它们也会以某种方式影响桌面的视觉渲染效果(尽管这可能会因浏览器而异) - 例如,对<colgroup>/<col>的支持是极其斑驳)。

例如,如果顶部和底部有标题行,则分别将它们分组在<thead><tfoot>中,将数据行分组在<tbody>中。浏览器将确保<tfoot>始终呈现在底部,无论您将它放在任何<tbody><tr>元素之前还是之后,或者您的表中有多少数据,如果您的表可能有很多行:

<table> 
    <caption>High Scores</caption> 
    <thead> 
    <tr><th>#</th><th>Name</th><th>Score</th></tr> 
    </thead> 
    <tfoot> 
    <tr><th>#</th><th>Name</th><th>Score</th></tr> 
    </tfoot> 
    <tbody> 
    <tr><td>1</td><td>Alice</td><td>10000</td></tr> 
    <tr><td>2</td><td>Bob</td><td>9000</td></tr> 
    <tr><td>3</td><td>Carol</td><td>8500</td></tr> 
    <tr><td>4</td><td>Dave</td><td>8000</td></tr> 
    <!-- Up to 100 data rows --> 
    </tbody> 
</table> 

否则默认情况下所有行被组合成一个<tbody>(即使你不把你的表中明确使用<tbody></tbody>标签)。因此,如果你在表的底部标题行,你必须把它们放在表的最底部,以便他们能够在最后出现:

<table> 
    <caption>High Scores</caption> 
    <tr><th>#</th><th>Name</th><th>Score</th></tr> 

    <tr><td>1</td><td>Alice</td><td>10000</td></tr> 
    <tr><td>2</td><td>Bob</td><td>9000</td></tr> 
    <tr><td>3</td><td>Carol</td><td>8500</td></tr> 
    <tr><td>4</td><td>Dave</td><td>8000</td></tr> 
    <!-- Up to 100 data rows --> 

    <tr><th>#</th><th>Name</th><th>Score</th></tr> 
</table> 

,当然还有,这也使得它如果你关心这种事情,可以说没有语义。


需要注意的是需要一个<tfoot>,如果你使用一个,放在之前以往规格的任何<tbody><tr>元素直至并包括HTML 4和XHTML 1吧验证这些文档类型。这从HTML5不再是真实的。

+0

colgroup呢?它如何与thead交互? – 2015-05-16 19:16:33

相关问题