HTML:IE9标准模式在每个页面上打印TFOOT

Ian*_*oyd 8 html standards html-table internet-explorer-9

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>
Run Code Online (Sandbox Code Playgroud)

通常,旧版Internet Explorer只显示TFOOT整个表格的底部.但是有一种风格可以应用于TFOOT(和THEAD)使其打印在由表格跨越的每个页面的底部.来自MSDN:

table-footer-group
对象呈现为tFoot.表格页脚始终显示
在所有其他行和行组之后,以及任何底部字幕之前.
页脚显示在由表格跨越的每个页面上.

添加table-footer-group为样式TFOOT使其(在Internet Explorer中)在表格跨越的每个页面的底部打印:

<STYLE type="text/css">
   tfoot { display: table-footer-group; }
</STYLE>
Run Code Online (Sandbox Code Playgroud)

但如果IE9(候选版本)被置于标准模式:

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

然后TFOOT不再呈现在跨越表的每个页面的底部,而是仅在整个表的末尾.

我查看了HTML规范以查看正确的行为是什么,并且它未定义!:

table-footer-group(在HTML:TFOOT中)
与'table-row-group'类似,但对于可视化格式,行组始终显示在所有其他行和行组之后以及任何底部标题之前.打印用户代理可能会在表格跨越的每个页面上重复页脚行.如果一个表包含多个带有'display:table-footer-group'的元素,则只有第一个元素呈现为页脚; 其他人被视为'display:table-row-group'.

注意:强调增加了效果.

在IE9 标准模式中有没有办法让我选择TFOOT在每个页面底部打印一个表?

更新一

有趣的是,这table-footer-groupTFOOT元素的典型默认值,但在以前版本的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-->
Run Code Online (Sandbox Code Playgroud)

也可以看看

Ian*_*oyd 2

在 HTML 中,行为未定义。浏览器可以:

  • 显示在整个表格之后
  • 显示在每个页面的底部。

我遇到的问题是在 Internet Explorer 9 候选版本中。

在 Internet Explorer 9 的最终版本(版本 9.0.8112.1642 RTM)中,TFOOT始终出现在每个打印页面的底部。

在早期版本的 IE 中,您可以选择

  • TFOOT出现在每个页面的底部
  • TFOOT出现在表格之后

通过手动指定TFOOTcss样式:

tfoot { display: table-footer-group; }
Run Code Online (Sandbox Code Playgroud)

即使tfoot已经具有 的显示样式table-footer-group特别包括它会告诉 IE 您希望将 TFOOT 打印在每个页面的底部。(而不是在表之后)。

指定它(默认行为)将使 IE 打印整个表格的TFOOT 后面。

如果您使用的是 IE9,并且只想在TFOOT打印整个表格后才显示,则必须将 Internet Explorer 置于 IE8 标准模式:

<!DOCTYPE html>
<HTML>
<HEAD>
   <META http-equiv="X-UA-Compatible" content="IE=8" />
   <!--IE8 Standards mode, so that we get the TFOOT after the entire table has printed, not at the bottom of each printed page-->
   ...
Run Code Online (Sandbox Code Playgroud)