【问题标题】:page-break-inside being ignoredpage-break-inside 被忽略
【发布时间】:2013-12-30 09:49:53
【问题描述】:

我正在从另一个页面动态添加 HTML 并将其设置为打印样式。但是,page-break-inside: avoid;,当应用于我的元素(其中任何一个)时,即使它出现在样式中,在打印时似乎也没有被考虑在内。我在 Windows 上使用 Chrome 31

Here is a jsFiddle 我的程序的简化版本(警告:它会在 3 秒后显示打印预览。要停止此操作,只需将底部的 setInterval 注释掉),这是page-break-inside:avoid对打印预览没有任何影响的版本

我发现的通常的“修复”,将position:relative 添加到元素及其父元素,在我的情况下不起作用。给它加前缀(正如几个人建议的那样)似乎也不起作用

我知道 page-break-inside: avoid; 在 Chrome 31 中使用动态放置的元素,因为我 tested it out in a pseudo-version警告:这也会打开打印预览),但是在花了几个小时删除代码之后,玩弄样式,并研究该主题(大多数帖子都非常过时)我似乎无法让更复杂的版本以相同的方式工作

提前感谢您的任何见解!

【问题讨论】:

  • page-break-inside:avoid 在 Firefox 中不起作用,仅供参考

标签: css google-chrome printing dynamically-generated page-break-inside


【解决方案1】:

将 #fromTumblr ID 上的显示属性从 inline-block 更改为 block

分页规则不适用于内联元素似乎是合乎逻辑的,因为该 ID 用于超过页面大小的包装元素,我猜这就是忽略所有其他规则的原因。

这里是更新的小提琴,在 Windows 上的 Chrome 31 和 FF26 上测试:http://jsfiddle.net/FSyT5/27/

【讨论】:

  • 哇,这似乎是一个愚蠢的理由,但它仍然是正确的。我想我没有考虑父元素上的内联块。干得好!
  • ...我的 flex-box 元素也发生了...我只需要按顺序获取溢出...或将溢出设置为隐藏,
猜你喜欢
  • 2020-12-15
  • 2016-08-21
  • 2018-11-05
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 2011-08-31
相关资源
最近更新 更多