2013-03-15 40 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

相關問題