css – 打印样式:如何确保图像不跨越分页符

前端之家收集整理的这篇文章主要介绍了css – 打印样式:如何确保图像不跨越分页符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当编写打印样式表时,是否有一种方法可以确保图像始终只在单个页面上,而不是跨多个页面图片页面小得多,但是基于文档流,他们最终在页面底部并得到拆分。我看到的行为的一个例子如下:
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?

参考文献:

> page-break-after
> page-break-before
> page-break-inside

猜你在找的CSS相关文章