我被卡死了,SO档案没有帮助我。也许我在找错地方。这里有一个小故事:CSS Print Layout - 在单页上打印
- 我有一个观点,我需要打印在一个完整的页面上。我不能有第二页,我需要它在页面上尽可能大。
- 解决方案必须具有合理的跨浏览器兼容性(IE9 +,Safari,Chrome,FF)。
- 我已经有一个PDF解决方案,但我也需要一个普通的香草打印解决方案。
- 该页面使用Bootstrap构建,但我已覆盖Print的大部分类。
HTML页面的结构如下。为了定制这些信息,我放入了一些内联CSS。
<div class="container">
<div class="row">
<div class="span16">
<style type="text/css" media="all">
@media print {
html, body {
margin: 0;
padding: 0;
background: #FFF;
font-size: 9.5pt;
}
.container, .container div {
width: 100%;
margin: 0;
padding: 0;
}
.template { overflow: hidden; }
img { width: 100%; }
}
</style>
<div class="template_holder">
<div class="template">
<img src="some_big_image">
<div>
[PLAIN TEXT IN HERE, POSITION:ABSOLUTE OVER THE IMAGE]
</div>
</div>
</div>
</div>
</div>
</div>
我意识到这是有点可怜的形式,这里包括在线CSS,但它覆盖了一堆其他的CSS在它之前出现的各种原因。我可以将它拉出来,但其要点在于此。当我打印时,我看到一些看起来不错的东西,再加上一个额外的第二页。当我缩小图像时,一切正常,但我需要图像填充DIV。
我认为将宽度设置为100%是问题,但我确保图像纵横比小于页面(即使有任何边距)。基本上,全幅图像不应该导致分页。我在做什么错&我需要改变什么?任何帮助表示赞赏...
我认为一个图表可能有助于可视化您的问题。我不确定现在到底是什么问题。 –
我不知道我可以在没有增加复杂功能的情况下绘制图表。它是一张8.5“x11”的纸片,里面有一张图片。当我将图像放大到100%宽度时,我无法在没有创建额外空白页(在Chrome和FireFox中)的情况下打印它。 – Nuby
尝试将其设置为95%。尝试一些价值,直到它适合在一个页面上。您也可以尝试删除所有边距和填充(例如'* {padding:0; margin:0}')。另请注意,浏览器会打印页眉和页脚,因此可用空间的比例与空白页面的比率不同。 – Gerben