【发布时间】:2018-05-27 06:38:26
【问题描述】:
我有一个带有图表的网页,该图表旨在使用 CSS 将大小固定为 width:1660px;height:480px;。该页面(我可以链接到它吗?)在浏览器中正确显示,但是在 Google Chrome 中打印时(我还没有测试过其他浏览器),它在水平方向上太大而无法放入单个页面。如何缩放 HTML 以适应一个打印页面?
以下是输出的样子(Firefox 60):
我尝试过处理这样的媒体查询:
@media print
{
@page
{
size: 297mm 210mm; /* landscape */
/* you can also specify margins here: */
margin: 250mm;
margin-right: 450mm; /* for compatibility with both A4 and Letter */
}
}
但我在打印预览中看不到任何效果。
[编辑]
Internet Explorer 11 似乎能够在打印对话框中自动缩放页面。我不知道为什么谷歌浏览器也不能这样做。
[编辑]
我也尝试过转换页面。然而,在 Chrome 和 IE11 中打印的结果非常不同。
@media print
{
html
{
transform: scale(0.5);transform-origin: 0 0;
}
}
接下来,我尝试缩放页面。这工作得很好,但我不知道它是否只影响 Chrome 或者它是否也影响 IE 和 Firefox。
@media print
{
html
{
zoom: 50%;
}
}
在任何一种情况下,用户都无法在使用 CSS 时禁用效果,除非您也创建新的 JavaScript 控件。
【问题讨论】:
-
你想添加另一个页面还是适合它??
-
我想把图表放在打印的一页上。
-
尝试为打印图设置新尺寸
@media print {.diagram{ set new size } ... } -
抱歉,我的意思是我想将整个 HTML 页面放在一个纸页上——而不仅仅是图表。
-
您是否尝试将尺寸设置为您
html或body?
标签: html css media-queries