表中的多个<thead> / <tbody>有效吗?


81

想象一个类似于以下列表的列表:

var list = [
  { name: 'group1', 
    items: [ 1, 2, 3, 4, 5 ]
  },
  { name: 'group2', 
    items: [ 1, 2, 3, 4, 5 ]
  },
  etc...
]

现在忘记了整个“表是用于数据而非设计的”参数,我想显示一个表,并为其中的每个条目list提供一个单独的表。 <thead><tbody>list

这在技术上有效吗?这可以在浏览器中使用,但是我的蜘蛛感觉上却有点刺痛


1
您肯定可以有多个团体,我必须检查一下规格才能了解thead。
凯文B

2
@KevinB:IIRC最多只有一英尺一英尺:w3.org/TR/html-markup/table.html#table
Zeta

1
@unor我的问题与Multiple<thead><tfooter>elements有关,与无关<tbody>。它们是不一样的,并且由单独的规则决定。
AlbertEngelB

@ Dropped.on.Caprica:好的,我想您也需要多个 thead元素。我撤回了表决。
2015年

Answers:


120

您可以根据需要拥有任意数量的<tbody>元素,但每个<thead>和最多可以有一个<tfoot>参考

内容模型:

按此顺序:可选的是caption元素,后跟零个或多个colgroup元素,随后是thead元素,随后是零个或多个tbody元素或一个或多个tr元素,然后可选地是tfoot元素,并可选地与一个混合或更多脚本支持元素。


您可以th scope=rowgroup在常规中使用tr每个描述tbody。请参见“示例”
CletusW

11

最多允许一个thead和一个,因此您不应创建其他标题。毕竟,a会为您的列赋予含义,例如“一天中的时间”,“温度”,“当前着火的猫的数量”。tfoot ththead

如果列表中的条目是相关的,它们应该都在同一张表中,并且您应该提供合适的标题以显示该关系。

如果条目实际上不相关,则应为每个条目提供一个表。您仍然可以在每个表上应用相同的CSS,以获得不错的结果。


5
“如果列表中的条目是相关的,它们都应该在同一张表中,并且您应该提供一个合适的标题以显示该关系” –我认为有时希望在很长的表中重复相同的标题,因此用户不必滚动到顶部即可记住各列。当然,还有其他解决方案(例如,JavaScript在表行元素上使用“粘性”表头或CSS,以使其在视觉上与其他行不同)。
麦克

5

我认为它就像id属性。它们应该是唯一的,但是您实际上可以在同一页面中重复使用它,但是仍然可以选择它。 就是说,仅仅因为可以做到并不意味着就应该做到。

我建议反对。


3
拥有多个不存在任何问题<tbody>,但是根据规范,可以只有一个<thead>和一个<tfoot>
Pointy 2013年

据我所知,他根本不建议这样做。只是说它在浏览器中有效?
AlbertEngelB

@Sebas第一句话就是让您知道可以添加更多的内容,就像id一样,但是您不应该这样做。
贾斯汀

@Sebas更好吗?有时我脑海中所清楚的是,我放下了什么:S
Justin

不,我完全道歉,这是我的错。干杯!
Sebas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.