【发布时间】:2013-09-16 16:29:46
【问题描述】:
我有一个表格,其中元素可以有具有相同属性的子元素,例如:
ITEM ATTRIBUTE 1 ATTRIBUTE 2
item value value
sub value value
sub value value
item value value
从这里我创建了一个这样的标记:
<table>
<thead>
<tr>
<th>ITEM</th>
<th>ATTRIBUTE 1</th>
<th>ATTRIBUTE 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>item</td>
<td>value</td>
<td>value</td>
</tr>
<tr>
<td colspan=3>
<table>
<tbody>
<tr>
<td>sub</td>
<td>value</td>
<td>value</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>item</td>
<td>value</td>
<td>value</td>
</tr>
</tbody>
</table>
我现在的问题是:
- 这是最好的语义解决方案吗?
- 其他方法更适合吗?如果是,推荐的方式是什么?
- 是表头负责这两个表还是我必须创建一个新表头(嵌套表可能使用
visibility: hidden?
【问题讨论】:
-
是的,终于获得了 75 声望,开始了所谓的赏金活动。哦,我失去了在任何地方发表评论的可能性。嗯。
-
我会避免嵌套表格,它会在单元格中插入一个新表格,这不是您想要的。如果您只有 1 级关系,为什么不保持表格平整并使用 css 来识别项目与子项目。
<tr class="item">...</tr><tr class="subitem">...</tr> -
@kalhartt 是的,但这并不能反映子项的语义,或者是吗?我也想过这个,但它只会产生视觉上的差异。
-
如果你适当地设置类的样式并且它很容易解析与任何 dom 操纵器的关系,它会在视觉上反映出来。您希望具体体现的含义如何。
-
@kalhartt 我的意思是,它传输子项是子项或更多子项各自父项的子集,并且它们不在同一个“级别”上。
标签: html html-table semantics nested-table