Page-break-inside:avoid not working
我的(WordPress)网站有一个打印样式表,我希望图像打印在单个页面上,而不是分成几页。在某些情况下,甚至几行文本也会在页面之间分开。我在打印样式表中添加了
是否有一种可靠的方法可以在单个页面上打印中等大小的图像,而不是将其分成多页?为什么文本行跨页面中断?
网站:http://74.220.217.211/housing-developments/grafton-townhomes/
相关文章:
-
打印样式:如何确保图像不跨越分页符
-
跨浏览器兼容的CSS属性最有用的media =" print"是什么?
-
CSS避免分页符的正确方法是什么?
- page-break-inside在Chrome中不起作用?
- 解决page-break-inside:避免
img元素的父元素可能具有样式:
1 | display: flex |
然后闯入是行不通的。
例如,如果将父元素的显示样式更改为:
1 | display: block |
然后它将起作用。
使用@media打印并为页面正文元素设置合适的高度或为图像设置较小的尺寸
例如:
1 2 3 4 5 | @media print{ body{ height: 800px; } } |
1 2 3 4 5 6 | img { page-break-before: auto; page-break-after: auto; page-break-inside: avoid; display: block; } |
这会工作
我认为问题可能来自元素的
1 | position: relative; |
其余的代码样式是正确的,应该看起来像
1 2 3 4 5 6 7 8 | @media print { img { page-break-before: auto; page-break-after: auto; page-break-inside: avoid; position: relative; } } |
试试这个:
1 2 3 4 5 6 | .site-container, .site-inner (heck body tag possibly) {position:relative;} p { page-break-inside: avoid; position: relative; } |
检查此FIDDLE
将其添加到您的印刷媒体中
我只是在Chrome浏览器中对此进行了审核,看起来不错,但减去了图片(也需要此图片):
1 2 3 4 5 6 | img { page-break-before: auto; page-break-after: auto; page-break-inside: avoid; display: block; } |
最后,WordPress拥有此功能,但实际上不确定是否有帮助...
[cc lang="css"]