【问题标题】:Why do internal TABLE sections have to go THEAD TFOOT TBODY to validate?为什么内部 TABLE 部分必须去 THEAD TFOOT TBODY 进行验证?
【发布时间】:2011-07-31 06:01:39
【问题描述】:

我经常使用 THEAD、TBODY 和 TFOOT 元素将我的数据表划分为可以使用 CSS 单独处理的部分。我也明白总有一个隐含的 TBODY 标签。

令我困惑的是这些必须进入验证的顺序。此表将验证:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Table Validation Test</title>
</head>
<body>

<table>

<thead>
<tr>
    <th scope="col">Enemies List</th>
</tr>
</thead>

<tfoot>
<tr>
    <td>&copy; Bomb Voyage</td>
</tr>
</tfoot>

<tbody>
<tr>
    <td>Mr. Incredible</td>
    <td>Elastigirl</td>
    <td>Gazer Beam</td>
</tr>
</tbody>

</table>
</body>
</html>

但是这个不会:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Table Validation Test</title>
</head>
<body>

<table>

<thead>
<tr>
    <th scope="col">Enemies List</th>
</tr>
</thead>

<tbody>
<tr>
    <td>Mr. Incredible</td>
    <td>Elastigirl</td>
    <td>Gazer Beam</td>
</tr>
</tbody>


<tfoot>
<tr>
    <td>&copy; Bomb Voyage</td>
</tr>
</tfoot>

</table>
</body>
</html>

有效的是 HEAD、FOOT、BODY;这没有任何意义。

将脚放在桌子的底部会保持桌子和人体之间的类比。但是由于某种原因,这个订单被认为是无效的。

有人知道为什么吗?

【问题讨论】:

    标签: html validation xhtml w3c-validation


    【解决方案1】:

    规范提供了一个原因:

    TFOOT 必须出现在 TABLE 定义中的 TBODY 之前,以便用户代理可以在接收所有(可能很多)行数据之前渲染脚。

    http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3

    我不知道是否有任何浏览器实际上遵循这种行为,并且在 HTML5 中进行了更改以同时处理 HTML 4 顺序和更合乎逻辑的顺序:

    按此顺序:可选的标题元素,后跟零个或多个 colgroup 元素,可选的后跟 thead 元素,可选的 tfoot 元素,后跟零个或多个 tbody 元素或一个或多个 tr 元素,然后可选由 tfoot 元素(但总共只能有一个 tfoot 子元素)。

    http://www.w3.org/TR/html5/tabular-data.html

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 2021-07-04
      • 2016-07-15
      • 2017-06-15
      相关资源
      最近更新 更多