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

时间:2011-03-09 21:19:13

标签: html html-table internet-explorer-9 standards

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以查看正确行为是什么,并且未定义!:

  

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-->

另见

1 个答案:

答案 0 :(得分:2)

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

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

我遇到的行为是在Internet Explorer 9 Release Candidate中。

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

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

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

通过手动指定TFOOT css样式:

tfoot { display: table-footer-group; }

即使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-->
   ...