【发布时间】:2011-07-12 06:12:03
【问题描述】:
HTML 中的表格可以有“页脚”:
<TABLE>
<THEAD><TR><TD>Your header goes here</TD></TR></THEAD>
<TFOOT><TR><TD>Your footer goes here</TD></TR></TFOOT>
<TBODY>
<TR><TD>
Page body in here -- as long as it needs to be
</TD></TR>
</TBODY>
</TABLE>
通常,旧版 Internet Explorer 只会在整个表格的底部显示 TFOOT。但是有一种风格可以应用于TFOOT(和THEAD),使其成为print at the bottom of each page spanned by the table. From MSDN:
table-footer-group
对象呈现为tFoot。始终显示表格页脚
在所有其他行和行组之后,以及任何底部标题之前。
页脚显示在表格跨越的每个页面上。
将table-footer-group 作为样式添加到TFOOT 会导致它(在Internet Explorer 中)打印在表格跨越的每一页的底部:
<STYLE type="text/css">
tfoot { display: table-footer-group; }
</STYLE>
但如果 IE9(候选版本)被置于标准模式:
<!DOCTYPE html>
然后TFOOT 不再呈现在跨越表格的每个页面的底部,而仅呈现在整个表格的末尾。
我检查了the HTML spec 以了解正确的行为是什么,但它是未定义的!:
表格页脚组(在 HTML 中:TFOOT)
像 'table-row-group',但用于视觉 格式化,行组总是 显示在所有其他行和行之后 组和任何底部标题之前。 打印用户代理可能重复页脚 每个页面上的行由一个表跨越。 如果一个表包含多个元素 与“显示:表页脚组”, 只有第一个被呈现为 页脚;其他人被视为 他们有“显示:表行组”。
注意:强调效果。
在 IE9 的标准模式中有没有办法让我选择在表格跨越的每一页的底部打印TFOOT?
更新一
有趣的是,table-footer-group 是 TFOOT 元素的典型默认值,但在以前的 IE 版本中,您可以选择所需的行为:
- 整个表格的底部
- 整个表格和每个中间页的底部
通过选择包含样式。
更新二
现在我强制 Internet Explorer 保持在 IE8 标准模式:
<!DOCTYPE html>
<HTML>
<HEAD>
<META http-equiv="X-UA-Compatible" content="IE=8" />
<!--IE8 Standards mode, so that we get the THEAD at the top, and the TFOOT at the bottom, of every page-->
另见
【问题讨论】:
标签: html html-table internet-explorer-9 standards