我正在为一个软件编写一个插件,它接收大量项目,并将它们弹出到Cocoa中的WebView中(它使用WebKit作为呈现程序,所以基本上可以假设这个HTML文件是在Safari中打开的)。
它生成的DIVs是动态高度的,但它们没有太大的变化。它们通常在200px左右。无论如何,每个文档大约有600个这样的项目,我真的很难让它打印出来。除非我走运,在每一页的底部和顶部都有一个条目被切成两半,这使得实际使用打印输出变得非常困难。
我尝试过之前分页、之后分页、内部分页和三者的组合,但都没有用。我认为可能是WebKit没有正确地呈现指令,或者可能是我缺乏对如何使用它们的理解。不管怎样,我需要帮助。如何防止在打印时将DIVs切成两半?
发布于 2015-04-21 21:08:01
page-break-inside: avoid;
让我在使用wkhtmltopdf时遇到了麻烦。
若要避免文本中断,请将display: table;
添加到包含文本的div的CSS中。
我希望这对你也有效。谢谢,JohnS。
发布于 2010-09-02 03:48:38
只有一个部分的解决方案:我可以让它在IE中工作的唯一方法是将每个div包装在它自己的表中,并在表中设置page-break-inside以避免。
发布于 2011-06-02 05:15:33
page-break-inside:避免;在webkit中肯定不起作用,事实上现在https://bugs.webkit.org/show_bug.cgi?id=5097已经是5+多年的一个已知问题了
就我的研究而言,还没有已知的方法来实现这一点(我正在研究自己的黑客)
我能给你的建议是,为了在FF中实现这一功能,用overflow: auto包装你不想在DIV (或任何容器)中破坏的内容(只是小心不要因为容器太小而导致奇怪的滚动条出现)。
不幸的是,FF是我唯一能够做到这一点的浏览器,而webkit是我更担心的一个。
https://stackoverflow.com/questions/907680
复制相似问题