打印样式:如何确保图像不跨越分页符
在编写打印样式表时,有没有办法确保图像总是只在一个页面上,而不是跨越多个页面。 图像比页面小得多,但是基于文档stream,它们最终在页面的底部并被分割。 我看到的行为的一个例子如下:
Page 1 | | | (text text text) | | (text text text) | | ________________ | | | Top of image | | |____________________| ------page break------ ____________________ Page 2 | | Rest of image | | | |________________| | | … |
我想要什么
Page 1 | | | (text text text) | | (text text text) | | | | | |____________________| ------page break------ ____________________ Page 2 | ________________ | | | Full image | | | | | | | |________________| | | … |
所有那些时候我在LaTeX上喋喋不休,在这里我要求相同的function…可以这样做吗? 我不一定关心它在所有的浏览器中工作,因为这通常只是我写的一次性文档被转换成PDF。
我能想到的唯一方法是使用一个(或更多)以下css规则:
img { page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */ page-break-after: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */ page-break-inside: avoid; /* or 'auto' */ }
我只记得这些声明只适用于块级元素(所以你还必须在你的图像上定义display: block;
或者使用某种包装容器,并将规则应用到该块上(无论是在段落中,div,span,list等)。
这里有一些有用的讨论:“ 什么是最有用的media="print"
具体的,跨浏览器兼容的CSS属性?
参考文献:
-
page-break-after
。 -
page-break-before
。 -
page-break-inside
。