我们可以在同一个 <table> 中有多个 <tbody> 吗?

新手上路,请多包涵

我们可以在同一个 <table> 中有多个 <tbody> 标签吗?如果是,那么在什么情况下我们应该使用多个 <tbody> 标签?

原文由 Jitendra Vyas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

是的,您可以使用它们,例如我使用它们来更轻松地设置数据组的样式,如下所示:

 thead th { width: 100px; border-bottom: solid 1px #ddd; font-weight: bold; }
tbody:nth-child(odd) { background: #f5f5f5;  border: solid 1px #ddd; }
tbody:nth-child(even) { background: #e5e5e5;  border: solid 1px #ddd; }
 <table>
    <thead>
        <tr><th>Customer</th><th>Order</th><th>Month</th></tr>
    </thead>
    <tbody>
        <tr><td>Customer 1</td><td>#1</td><td>January</td></tr>
        <tr><td>Customer 1</td><td>#2</td><td>April</td></tr>
        <tr><td>Customer 1</td><td>#3</td><td>March</td></tr>
    </tbody>
    <tbody>
        <tr><td>Customer 2</td><td>#1</td><td>January</td></tr>
        <tr><td>Customer 2</td><td>#2</td><td>April</td></tr>
        <tr><td>Customer 2</td><td>#3</td><td>March</td></tr>
    </tbody>
    <tbody>
        <tr><td>Customer 3</td><td>#1</td><td>January</td></tr>
        <tr><td>Customer 3</td><td>#2</td><td>April</td></tr>
        <tr><td>Customer 3</td><td>#3</td><td>March</td></tr>
    </tbody>
</table>

您可以在此处查看示例。它只能在较新的浏览器中工作,但这是我在当前应用程序中支持的,您可以使用 JavaScript 等的分组。主要的是它是一种方便的方式,可以直观地对行进行分组,使数据更具可读性.当然还有其他用途,但就适用示例而言,这对我来说是最常见的一种。

原文由 Nick Craver 发布,翻译遵循 CC BY-SA 4.0 许可协议

是的。来自 DTD

 <!ELEMENT table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

所以它期望一个或多个。然后它继续说

当表格行组之间需要 规则 时,使用多个 tbody 部分。

原文由 Martin Smith 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题