Firefox仅打印第一页并在右侧打开页面

时间:2012-11-21 16:46:12

标签: css firefox printing overflow

我在使用Firefox打印时遇到了大麻烦(任何版本,我的版本都是16.0.2,但即使是Aurora开发版也是如此)。 打印页面时,缩小到适合打印预览不起作用。只有这样,如何将页面装到纸上才能在同一个对话框中选择“缩放70%”。 其他问题: 它只打印第一页。 怎么办?

3 个答案:

答案 0 :(得分:15)

我需要调整CSS文件进行打印,所以我做了一个。它可以在任何地方完美运行,但不适用于Firefox。出了什么问题?

首先,我尝试在print.css文件中为BODY和HTML指定宽度和高度。比利润率等

后来我发现了问题所在: 标准CSS文件中包含以下内容:

body {
 ...
 overflow-x: hidden;
 overflow-y: scroll;
}

所以我在print.css文件中添加了以下内容:

body {
 overflow-x: visible;
 overflow-y: visible;
}

我想,如果您只在CSS中指定了溢出,而不是-x& -y,您需要在print.css文件中仅指定overflow:visible。

从Firefox打印现在可以正常工作。我只是想,这可能会帮助那些在Firefox中发生奇怪打印行为的人。

答案 1 :(得分:1)

除了Kokesh的回答,有时属性

display: table

也会产生这个问题。因此,您需要将其更改为“阻止”或其他适合您的要求。

答案 2 :(得分:0)

我尝试了其他答案中提出的修正,但他们并没有为我解决问题。经过大量的研究和试验,错误,我发现{A}分开了this article。我持怀疑态度,因为它已经很老了,但它说明了:

  

如果浮动元素超出打印页面的底部,则浮动的其余部分将有效消失,因为它不会在下一页打印。

因为我有一个大的浮动容器,我以为我试一试。所以,我从其他答案和本文中得到了一个混合,并提出了这个:

body { 
    overflow: visible !important; 
    overflow-x: visible !important; 
    overflow-y: visible !important; 
}

/*this is because I use angular and have this particular layout*/
body > .fade-ng-cloak { 
    height: 100%; 
    display: block;
    flex: none;
    float: none;
}
.l-content,
.l-sidebar {
    float: none;
}

基本上是这样的:

  1. 将正文设置为overflow: visible
  2. 设置表现为display: block包装的元素,消除所有flex样式并在必要时重置高度
  3. 消除长容器上的float
  4. 这种混合对我有用!我很高兴我以为我会分享:)。