CSS:在单页​​上打印

时间:2018-07-25 03:39:42

标签: html css

我有一个图像很大的页面,我希望它按比例缩放(而不是在第一页末尾切下并在下一页继续)。我希望将整个页面打印在一张纸上:前奏文本,大图像和页脚文本。我该怎么办?

<!DOCTYPE html>
<html>
<head>
<style>
@media print {
    @page {
        max-height: 95%; 
        max-width: 95%;
        page-break-inside: avoid;
    }
/*
    html, body {
        max-height: 95%;
        max-width: 95%;
    }
    svg {
        max-width: 95%;
        max-height: 95%;
    }
*/
}
</style>
</head>
<body>

<h1>Print test</h1>
<p>text before</p>
<svg width="500" height="1000">
    <rect width="500" height="1000"/>
</svg>
<p>text after</p>

</body>
</html>

我尝试设置页面的max-widthmax-height(以及withheight),但是Firefox仍然无法显示图像。

page-break-inside: avoid会产生相反的效果:没有它,我将得到2页,有了它我将得到3页(图像在其自身页面上的文本,然后是图像的大部分,然后是其余部分)。我想浏览器会尝试遵循该规则,并通过将图像之前的文本推到第一页来在第二页上留出更多空间。

我不愿意使用scale(...),因为并非所有页面都有如此大的图像,并且我不想放大容易适合该页面的图像。我确实知道图像的尺寸(以像素为单位)。

如何让浏览器根据需要缩放页面并将整个页面打印在一张纸上?

0 个答案:

没有答案