在添加此表之前,我已经对我的网页进行了xhtml过渡版的验证(请参见下文)。从那时起,它不再验证,并说“

文档类型此处不允许元素“ tfoot” <tfoot>
在不允许的上下文中找到了上面命名的元素。这可能意味着您具有错误嵌套的元素(例如,在“ body”部分中的“ style”元素而不是在“ head”内部)或两个重叠的元素(不允许)。
导致此错误的一个常见原因是在HTML文档中使用XHTML语法。由于HTML隐式关闭元素的规则,此错误可能会产生级联效果。例如,在HTML文档的“ head”部分中将XHTML的“ self-closes”标签用于“ meta”和“ link”,可能会导致解析器推断“ head”部分的结尾和“ body”的开头“部分(不允许使用“链接”和“元”;因此报告的错误)。”

有什么想法吗?我检查了所有打开的和未关闭的标签,但没有找到任何标签,所以我不知道还有什么问题。

<table>
<caption>
My first table, Anna
</caption>
<thead>
<tr>
<th>
June
</th>
<th>
July
</th>
<th>
August
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
 Data 1
</td>
<td>
Data 2
</td>
<td>
 Data 3
</td>
<td>
Data 4
 </td>
 </tr>
 <tr>
 <td>
   Data a
  </td>
   <td>
 Date b
</td>
<td>
Data c
</td>
<td>
Data d
</td>
</tr>
<tfoot>
<tr>
<td>
Result1
</td>
</tr>
</tfoot>
</tbody>
</table>

最佳答案

表格末尾有<tfoot>。它应该在<thead><tbody>之间。它会显示在底部,但编码在顶部。最初的想法之一是,当装载一张大桌子时,标题和页脚将很快可见,其余的填充其中(特别是如果它们之间可以滚动时,则很有用)。在实践中它还没有完全解决问题,但是如果您知道的话,它的确有意义。

DTD中列出:

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


也就是说,可选的caption,然后是零个或多个colcolgroup,然后是可选的thead,然后是可选的tfoot,然后是至少一个tbodytr

更新:请注意,HTML 5现在允许将<tfoot>放在表的末尾,而不是放在第一个<tbody>之前(或不在<tr><thead>中的第一个<tfoot>之前)。或<tbody>,因此在单个隐式<tbody>中)。因此,问题中的代码现在将被视为有效。较旧的方法仍然有效,并且可能是明智的。

关于validation - 页脚不验证xhtml?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3503503/

10-12 02:10