当编写打印样式表时,是否有一种方法可以确保图像始终只在单个页面上,而不是跨多个页面。图片比页面小得多,但是基于文档流,他们最终在页面的底部并得到拆分。我看到的行为的一个例子如下:
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叮咬漂浮,在这里我要求相同的功能…可以这样做吗?我不一定关心它在所有浏览器中工作,因为这通常只是一个一次性的文档,我写成要变成一个PDF。
解决方法
我可以想到的唯一手段是使用一个(或潜在更多)以下CSS规则:
img { page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */ page-break-after: auto; /* 'always,' or 'right' */ page-break-inside: avoid; /* or 'auto' */ }
我不记得这些声明只适用于块级元素(所以你还必须定义display:block;在你的图像上,或使用某种包装容器,并应用规则(无论是在一个段落,div,span,list等等)。
这里有一些有用的讨论:“What are most usefule media="print"
specific,cross-browser compatible CSS properties?”
参考文献: