更改打印的CSS边距

时间:2015-11-03 19:45:07

标签: html css

我们有一个page-wrapper id的元素。我已经测试过,更改此元素的边距确实会删除实际页面上的边距:

@media (min-width: 768px) {
    #page-wrapper {
        position: inherit;
        margin: 0 0 0 220px;
    }
}

我的目标是保留标准页面的页边距,但在打印时将其删除,所以我尝试了这个:

@media print
{
    #page-wrapper 
    {
        margin: 0px !important;
        /*display: none !important;*/
    }
}

display:none评论只是为了表明它确实隐藏了该元素进行打印,这是我测试的一部分。但是,保证金不会像它应该的那样改变。

我不知道自己可能做错了什么,所以我希望有人有个主意。我们在页面上没有任何其他@media print样式,但确实有其他@media min-width styles,但据我所知#page-wrapper应该覆盖所有样式以进行打印。

有什么想法吗?

修改:设置background-color:red;似乎也不起作用,只隐藏display: none视图中的元素。

编辑2:我确实在样式表中将@media print设置为绝对最后,而不是它应该重要,因为它是唯一的打印样式并使用!important,但仍然值得一提的是另外一件事要检查关闭。

编辑3:检查元素时,应用的唯一边距样式是第一个代码段中显示的样式。检查元素时,@media print样式根本不显示。

1 个答案:

答案 0 :(得分:0)

当我需要处理类似的东西时,我首先创建了页面部分的PDF,然后我可以打印它,如果我想要或者我可以通过电子邮件发送它。要调整PDF的边距,可以使用@page选择器。所以,我的嵌入式CSS将是:

@page{margin:120px 50px 80px 50px;}

它可能会或可能不会起作用,因为我没有尝试直接从页面打印,但这可能提供了达到同一目标的另一条路径。