【问题标题】:Why doesn't page-break work with CSS display grid?为什么分页符不适用于 CSS 显示网格?
【发布时间】:2019-11-15 14:43:36
【问题描述】:

我正在使用 CSS 网格布局制作 HTML 文档,然后我想打印它。

问题是当我打印文档时,一些元素会溢出到下一个。所以我在我的网格元素中添加了page-break-inside,但它并没有改变任何东西。一页中的元素仍然溢出到另一页。 page-break-inside 在存在 no display:grid 时完美运行,但 with display:grid 不存在。这是with gridwithout grid 的两个示例。

所以:

  1. page-break 是否可以与 display:grid 一起使用,因为在我的情况下它不可以?
  2. 有什么办法可以使这个工作吗?

【问题讨论】:

  • 只是将其添加为评论而不是答案,因为我不是 100% 对此,但 afaik 它不会在网格或弹性布局项目中工作。我假设这是由于这两个 API 的工作方式,其中元素的大小是弹性的并且是动态计算的,并且似乎没有内置复杂的打印支持。您可以在 grid/flex 元素之后中断,但(据我所知)不在其中:每页一个或多个受控网格布局,而不是跨页面的受控网格布局
  • @DanCouper 仅供参考,我拒绝了您的编辑,因为这是试图回复;如果您认为 OP 意味着不同的属性,您应该通过 cmets 询问他们并让他们确认而不是假设。造成这种情况的原因之一是,如果您是对的,有时您的编辑建议最好作为答案。
  • @TylerH 这不是试图回复,问题是关于page-break-inside,没有名为page-break 的CSS 属性。我不认为 OP 意味着不同的东西,他确实 意味着不同的东西并提供了一个支持这一点的例子,否则这个问题绝对没有意义。
  • @TylerH:DanCouper 的编辑将问题与小提琴相匹配,因此可以安全地假设作者试图通过将其称为“分页符”来缩写该属性,而实际上他们应该将其拼写出来完整的。
  • 实际上,“分页符”是指所有三种类型(之前、之后和内部),但感谢您澄清问题。

标签: html css css-grid page-break


【解决方案1】:
  1. 任何浏览器尚不支持打破css-break-3§3.1css-grid-1§12 中定义的网格布局。此外,在网格布局中没有任何 [page-]break-inside 规范,只有 [page-]break-before[page-]break-after

  2. 我怀疑您需要手动将网格布局拆分为单独的网格,并在正确的位置使用虚拟拆分元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多