如何控制打印字体大小

15

我允许我的用户打印,但输出的内容太大了(我需要在打印对话框中手动调整到大约60%)。我使用CSS媒体查询(如下)来控制内容,并尝试更改html,body {}的字体大小,但输出的字体大小没有变化。打印到Adobe PDF可以正常打印。

您有什么想法我是做错了什么吗?

我的打印链接:

<a href="#" onclick="window.print(); return false;"></a>

我的css:

@media print {
    body * {
        visibility: hidden;
    }
    .printme, .printme * {
        visibility: visible;
    }
    .printme {
        position: absolute;
        left: 0;
        top: 0;
    }
    .printme, .printme:last-child {
        page-break-after: avoid;
    }

    .display-none-on, .display-none-on * {
        display: none !important;
    }
    html, body {
        height: auto;
        font-size: 12pt; /* changing to 10pt has no impact */
    }

}

这段代码是有效的...我觉得问题可能是缓存..试着在隐私模式下打开浏览器.. - brunocascio
因为CSS只适用于打印,而不适用于屏幕查看? - Joseph
我正在使用Firefox,但是在Chrome上尝试打印时结果是一样的。 - mseifert
1
如果您有外部CSS文件,那么它将被保存在缓存中。请清除您的缓存。Firefox可以设置在关闭浏览器时自动清除缓存。 - StackSlave
1
是的,但我想知道它从哪里获取了巨大的字体大小。我根本没有调整CSS字体大小,否则我会立即考虑缓存的。谢谢你的帮助。 - mseifert
显示剩余3条评论
1个回答

15

最终弄明白了,有多个原因导致问题出现。主要是我还需要为包含文本的div设置字体大小。在主CSS中,我将body字体大小设置为62.5%,将div字体大小设置为130%。当我将@media print {}中的body字体大小设置为12pt时,它仍使用了130%的div设置,因此打印出来非常大。

我认为我通过更改body字体大小来调整字体大小的努力是有缺陷的,因为我对CSS进行了缩小并可能在每次更改后忘记了缩小。


为什么继续使用130%的div设置? - Alex78191
@Alex78191 - 当我在CSS文件中更改div字体大小时,即使更改了body字体大小,页面仍将使用div字体大小(设置为130%)。当我测试时,我没有记得压缩CSS,因此我的更改没有生效。 - mseifert
我给你点赞是因为你的解释对我的问题帮助很大。 - lesimoes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接