对表中的每一行使用TBODY? (这对语义有影响吗?)

时间:2011-12-05 18:40:00

标签: html xhtml

我正在用PHP重写表类。其功能之一是一个数据块可以跨越多个TR。对于此功能,我现在使用TBODY标记将这些行组合在一起。

然而,这让我想到了TBODY的语义。我知道约定是表有一个TBODY,每个TR使用一个数据块。但是,不应该将每个TR都包含在TBODY中吗?

2 个答案:

答案 0 :(得分:2)

  

惯例是表有一个TBODY,每个TR使用一组数据。

这不一定是真的。每个TR代表一行,仅此而已。如果您有一组相关的行,则可以将每个组包含在自己的TBODY中。单个表有多个表体是完全没问题的。 the HTML 4.01 spec演示了一个包含两个实体或数据块的表格:

<TABLE>
<THEAD>
     <TR> ...header information...
</THEAD>
<TFOOT>
     <TR> ...footer information...
</TFOOT>
<TBODY>
     <TR> ...first row of block one data...
     <TR> ...second row of block one data...
</TBODY>
<TBODY>
     <TR> ...first row of block two data...
     <TR> ...second row of block two data...
     <TR> ...third row of block two data...
</TBODY>
</TABLE>

答案 1 :(得分:1)

HTML允许在一个表中使用多个TBODY标记(但只有一个THEADAD和TFOOT)。因此虽然它可能不常规(并浪费一些字节),但我认为如果这适合您的应用程序,我认为没有任何理由不将每个TR包装在不同的TBODY中。