我正在用PHP重写表类。其功能之一是一个数据块可以跨越多个TR。对于此功能,我现在使用TBODY标记将这些行组合在一起。
然而,这让我想到了TBODY的语义。我知道约定是表有一个TBODY,每个TR使用一个数据块。但是,不应该将每个TR都包含在TBODY中吗?
答案 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中。