在添加此表之前,我已经对我的网页进行了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
,然后是零个或多个col
或colgroup
,然后是可选的thead
,然后是可选的tfoot
,然后是至少一个tbody
或tr
。更新:请注意,HTML 5现在允许将
<tfoot>
放在表的末尾,而不是放在第一个<tbody>
之前(或不在<tr>
,<thead>
中的第一个<tfoot>
之前)。或<tbody>
,因此在单个隐式<tbody>
中)。因此,问题中的代码现在将被视为有效。较旧的方法仍然有效,并且可能是明智的。关于validation - 页脚不验证xhtml?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3503503/