【问题标题】:HTML: IE9 standards mode print TFOOT on every pageHTML:IE9 标准模式在每一页上打印 TFOOT
【发布时间】: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-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-->

另见

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 1970-01-01
      • 2015-10-03
      • 2011-01-08
      • 1970-01-01
      • 2017-10-22
      • 2012-01-11
      • 2012-03-08
      • 2020-02-06
      相关资源
      最近更新 更多