打印html页面时添加页眉/页脚

打印html页面时添加页眉/页脚,html,css,Html,Css,我创建了一个带有页眉、一些内容和页脚的html页面。我试图打印HTML页面,共有2页。我在第一页看到页眉,在最后一页看到页脚 我真正需要的是在所有页面中显示页眉和页脚,就像在word文档中一样。有了新的css技巧@media print 因此,您只需创建页眉和页脚,并在不打印时将它们隐藏在主页面上。只需添加到css显示:无 打印时,您可以将媒体添加到css中,并使用以下内容显示隐藏的页脚和页眉: @media print { #id{ display:block; } } 也

我创建了一个带有页眉、一些内容和页脚的html页面。我试图打印HTML页面,共有2页。我在第一页看到页眉,在最后一页看到页脚


我真正需要的是在所有页面中显示页眉和页脚,就像在word文档中一样。

有了新的css技巧@media print

因此,您只需创建页眉和页脚,并在不打印时将它们隐藏在主页面上。只需添加到css显示:无

打印时,您可以将媒体添加到css中,并使用以下内容显示隐藏的页脚和页眉:

@media print {
  #id{
     display:block;
  }
}
也请检查此“”
它将给你权力打破网页

有新的css技巧@media print

因此,您只需创建页眉和页脚,并在不打印时将它们隐藏在主页面上。只需添加到css显示:无

打印时,您可以将媒体添加到css中,并使用以下内容显示隐藏的页脚和页眉:

@media print {
  #id{
     display:block;
  }
}
也请检查此“”
它将为您提供分页功能

您需要将整个内容包装在一个表中,如:

HTML

<table>
    <thead>
        <tr><td>
            <!-- your header goes here -->
        </td></tr>
    </thead>
    <tbody>
        <tr><td>
            <!-- your content goes here -->
        </td></tr>
    </tbody>
    <tfoot>
        <tr><td>
            <!-- your footer goes here -->
        </td></tr>
    </tfoot>
</table>

我需要补充一点,这在基于webkit的浏览器(目前为止)如Safari、Chrome和Opera中可能不起作用。请在您想要支持的所有浏览器上测试它。
Chrome可能支持另一个选项:将页眉和页脚设置为
位置:fixed
,但在快速测试中,我无法避免与页面内容重叠(即,超过一页的很长文本)


附录
您可能希望在分页符时不打断某些内容元素,例如,跨多行文本的列表项。要避免这种情况,您可以设置以下CSS

@media print {
    thead { display: table-header-group; }
    tfoot { display: table-footer-group; }
}
@media screen {
    thead { display: block; }
    tfoot { display: block; }
}
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
          page-break-inside: avoid; /* Firefox */
               break-inside: avoid; /* IE 10+ */

您需要将整个内容包装在一个表中,如:

HTML

<table>
    <thead>
        <tr><td>
            <!-- your header goes here -->
        </td></tr>
    </thead>
    <tbody>
        <tr><td>
            <!-- your content goes here -->
        </td></tr>
    </tbody>
    <tfoot>
        <tr><td>
            <!-- your footer goes here -->
        </td></tr>
    </tfoot>
</table>

我需要补充一点,这在基于webkit的浏览器(目前为止)如Safari、Chrome和Opera中可能不起作用。请在您想要支持的所有浏览器上测试它。
Chrome可能支持另一个选项:将页眉和页脚设置为
位置:fixed
,但在快速测试中,我无法避免与页面内容重叠(即,超过一页的很长文本)


附录
您可能希望在分页符时不打断某些内容元素,例如,跨多行文本的列表项。要避免这种情况,您可以设置以下CSS

@media print {
    thead { display: table-header-group; }
    tfoot { display: table-footer-group; }
}
@media screen {
    thead { display: block; }
    tfoot { display: block; }
}
-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
          page-break-inside: avoid; /* Firefox */
               break-inside: avoid; /* IE 10+ */

您可能正在寻找您可能正在寻找您是否可以添加关于如何在每页打印页眉和页脚的答案?例如,如果您有一个非常长的文本,它跨越多页。--据我所知,您必须将HTML设置为特定的打印布局:元素不重叠页面边框,以及打印所需页眉/页脚的正确数量,不是吗?您可以使用css获得令人满意的结果。页面{高度:958px}。页面。内容{最小高度:###px;}。根据页眉/页脚高度调整内容最小高度和变量内容高度。此外,表格在打印方面也有一些优势。这里有一些信息,你最后的评论(带有链接)正是我发布的答案。您的另一个解决方案需要固定的打印布局,用户只能在单个定义的页面布局上获得良好的结果。但是你不知道用户想要如何打印你的网站。所以(在我看来)假设用户会在特定的页面布局中打印(甚至强迫他这样做)是不好的做法。我不是说它不起作用,只是在我看来这不是一个好的做法。
@media print
是新的吗?请你补充一下如何在每页打印页眉和页脚的答案好吗?例如,如果您有一个非常长的文本,它跨越多页。--据我所知,您必须将HTML设置为特定的打印布局:元素不重叠页面边框,以及打印所需页眉/页脚的正确数量,不是吗?您可以使用css获得令人满意的结果。页面{高度:958px}。页面。内容{最小高度:###px;}。根据页眉/页脚高度调整内容最小高度和变量内容高度。此外,表格在打印方面也有一些优势。这里有一些信息,你最后的评论(带有链接)正是我发布的答案。您的另一个解决方案需要固定的打印布局,用户只能在单个定义的页面布局上获得良好的结果。但是你不知道用户想要如何打印你的网站。所以(在我看来)假设用户会在特定的页面布局中打印(甚至强迫他这样做)是不好的做法。我不是说它不起作用,只是在我看来这不是一个好的做法。
@media print
是新的吗??