我正在制作一份可打印的HTML报告,其中的"部分"应该从一个新页面开始.

有没有办法在HTML/CSS中添加一些东西,向浏览器发出信号,表示需要在此时强制分页符(开始一个新页面)?

我不需要它在所有的浏览器上都能工作,我想我可以告诉人们使用一组特定的浏览器来打印它.

推荐答案

添加一个名为"pagebreak"(或"pb")的CSS类,如下所示:

@media print {
    .pagebreak { page-break-before: always; } /* page-break-after works, as well */
}

然后在想要分页符的地方添加一个空的DIV标签(or any block element that generates a box).

<div class="pagebreak"> </div>

它不会显示在页面上,但会在打印时拆分页面.

附注:也许这只适用于使用-after时(也适用于页面上的其他<div>),但我发现我必须按如下方式增加CSS类:

@media print {
    .pagebreak {
        clear: both;
        page-break-after: always;
    }
}

Html相关问答推荐

如何删除html原生对话框的宽度

我如何 Select 外部html文件元素作为选项,并显示在一个div与jQuery?

CURL邮箱中的图像不能调整其大小

垂直页眉,每行只显示一个使用css的字母

在一行中对齐文本和图标

使用CSS Flexbox时,我的图像未对齐

try 更新我的Node.js应用程序中的用户,但我收到错误.然而,当我使用postman 时,更新工作正常

列表项文本在占据剩余空间之前在标记下换行

CSS:双面元素未正确显示边框

如何将多个类名组合到CSS中的一个关键帧

配置了 HTML 视口的 Google Apps 脚本移动网络应用程序无法正确显示

在 WooCommerce 存档产品类别描述上添加阅读更多/阅读更少按钮

为什么可滚动弹性项目需要 flex-basis: 0 ?

如何使Bootstrap 5卡可点击

如何使容器的大小适合其 position:absolute; 子元素的大小

如何垂直对齐列表中的图像和文本?

如何使用 CSS 制作蜂窝状网格?

打开 Bootstrap 模式时无法获得模糊的背景

如何使列表的第一个元素比 css 中的其他元素大?

如何使文本显示在页眉/页脚之外?