【问题标题】:Any way to do page breaks with javascript (print media)?有什么方法可以用 javascript(印刷媒体)进行分页吗?
【发布时间】:2015-01-17 14:41:13
【问题描述】:

浏览器对page-break-inside: avoid 的支持很差。有很多场景没有应用。在我的例子中,它是一个带有flex-wrap 的嵌套弹性框。

有没有办法使用javascript添加分页符?

我可以通过 FF 中的 onbeforeprint 事件或 Chrome 中的 window.watchMedia 来检测浏览器是否处于打印模式,但接下来呢?

我想我需要找出打印的页面大小(以像素为单位),以便确定插入分页符的位置。但是window.screen.availHeight 返回相同的值并且window.print.availHeight 不存在:(

假设这是可能的,那我该如何分页呢?

【问题讨论】:

  • 分页符基于页面设置中的纸张大小

标签: javascript css printing media-queries page-break


【解决方案1】:

你可以试算一下,A4的宽高是有一定比例的,简单来说就是你的print css让html/body 900px宽。每个打印页面的高度可以使用 A4 比例计算。

因此您可以添加一个打印 css 文件来更改布局,以便需要在下一页上的内容具有顶部边距。

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2011-02-11
    相关资源
    最近更新 更多