我遇到了CSS page-break-inside: avoid
的问题。我有一些打印块有这个css属性设置,但是Safari会像真正的分页符一样突破任何内容,而它适用于所有其他主流浏览器(当前版本)我到目前为止已经测试过。
打印块保持哪种类型的内容似乎无关紧要,因为我已经看到这种行为,表和画布元素都在中间分开。
就http://css-tricks.com/almanac/properties/p/page-break/和https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html而言,它应该有用。无法通过快速搜索找到有关此问题的任何其他和最新信息。
我在Windows 7& Safari 5.1.7。
答案 0 :(得分:12)
尝试使用display: inline-block;
代替page-break-inside: avoid;
。您可能还想添加vertical-align: top;
和width: 100%;
,以使元素的行为与普通块元素相似,而不是内联元素。
此技术在大多数浏览器中实施page-break-inside: avoid;
之前就已经可靠地运行了。它仍然是防止内容块中的分页符最可靠的跨平台方式。
如果您想让表格牢不可破,可以在其上设置display: inline-table;
。或者你可以把它放在一个内联块div中。