7

我正在寻找表格方面的 HTML5 规格。我正在做一个有很多数据表的网络应用程序。

这些表通常有一个数据库行映射到一个表行。一切都很好。然而,一个特殊的问题子节点有这么多列,以至于它需要分布在表中的两行上。所以普通表是(伪):

<table>
<thead>
<tr>
  <th>Header</th>
</tr>
</thead>
<tbody>
<tr>
  <td>Data</td>
</tr>
</tbody>
</table>

有问题的行是这样的:

<table>
<tbody>
<tr>
  <th>Header row 1</th>
</tr>
<tr>
  <td>Data</td>
</tr>
<tr>
  <th>Header row 2</th>
</tr>
<tr>
  <td>Data</td>
</tr>
</tbody>
</table>

所以我现在的问题是:在 HTML5 中嵌套表格是否有效?我们可以很容易地同意它非常丑陋。但我在这里只考虑有效性。

如果我可以有嵌套表,它将解决与这些表的排序和编辑有关的任何数量的问题(实现了半数据网格功能)。这样,主表仍然可以只包含一行两列。可排序的日期和带有数据的嵌入表。

你说什么?我一直在寻找规格,但找不到任何确定的东西。

4

2 回答 2

14

该文档只包含一个嵌套表:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>A nested table</title>
</head>
<body>
    <table>
        <tbody>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr>
                                <td>Nested</td>
                                <td>Table</td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>
    </table>
</body>
</html>

…有效,根据http://validator.w3.org/nu/

文档根据指定的模式和验证器检查的附加约束进行验证。

于 2012-04-24T12:44:50.250 回答
-3

嵌套表实际上需要嵌套在<td>元素中,而元素嵌套在<tr>'s 和其他表中,而不仅仅是直接嵌套在表或行中。

MDN 参考

<table> 允许的内容

  • 一个可选<caption>元素,
  • 零个或多个<colgroup>元素,
  • 一个可选<thead>元素,
  • 以下任一项:
  • 零个或多个<tbody>元素
  • 一个或多个<tr>元素
  • 可选<tfoot>元素

<tr> 允许的内容

  • 零个或多个<td>和/或<th>元素;脚本支持元素 (<script><template>) 也是允许的

<td> 允许的内容

  • 流动内容。(<table>包含在此列表中)
于 2013-09-04T21:38:45.987 回答