Firefox只打印第1页

Sco*_*ttE 41 printing firefox

我正在为一个网站打印友好的CSS.它在IE中完美预览/打印,但Firefox(版本3.6)仅预览/打印第一页.

有人知道通常会导致这种情况吗?标记相当复杂,所以我不知道从哪里开始!

谢谢.

编辑

这个解决方案只会让事情更糟.

https://support.mozilla.com/ga-IE/questions/667285#answer-115916

看起来打印只是糟透了FF.客户不愿意听到 - 希望他们不使用FF!

sin*_*ini 20

我刚刚从一个元素中找到了

display:inline-block; 
Run Code Online (Sandbox Code Playgroud)

只打印第一页,然后隐藏其他页面.将此设置为

display:block;
Run Code Online (Sandbox Code Playgroud)

在我的情况下是解决方案.

  • 谢谢你的提示。与您类似,我有一个 DIV 设置为 `display: table`。我创建了一个打印样式表,将其设置为 `display: block`,问题解决了! (2认同)

yak*_*kka 15

我遇到了同样的问题.事实证明,根标签就display: flex在上面.将此更改为后display: block,将显示其余内容.我建议你上DOM树并检查每个display属性.

  • Flex仍然是FF 44.0.2中的一个问题.还注意到我的`page-break-inside`和`page-break-after`避免了在我为`block`换掉`flex`时FF被忽略的突然正常工作. (3认同)
  • 四年后,“ display:flex”仍然是一个问题。FF 60.9.0esr (2认同)

ban*_*ana 14

如果您不想浏览所有代码,那么这是我发现的唯一可以帮助我而不会弄乱我所有其他CSS的东西:

@media print {
  body {
    overflow: visible !important;
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 8

我为此尝试了十几个修复,最后,我需要的是:

@media print {
  body {
    display: block;
  }
}
Run Code Online (Sandbox Code Playgroud)


Nic*_*lay 5

打印绝对定位元素的长期存在的错误在Firefox 3 中得到了修复。

错误 521204中跟踪了缺失页面的问题(查看“取决于”列表)。您要打印的页面上是否有框架或长表格?

是的,Firefox 中的打印功能不足,抱歉您必须处理它......


kat*_*des 5

我有同样的问题,因为heightbody设置为100%,我修改后height: auto的我print.css,它的工作.

@media print {
  body {
    height: auto;
  }
}
Run Code Online (Sandbox Code Playgroud)


ith*_*hil 5

经过大量的研究和反复试验,我发现这篇文章是由 A list 分开的。我对此表示怀疑,因为它太旧了,但它指出:

\n\n
\n

如果浮动元素经过打印页面的底部,则浮动的其余部分将有效消失,因为它不会\xe2\x80\x99 打印在下一页上。

\n
\n\n

因为我有一个大的漂浮容器,我想我应该尝试一下。因此,我将其他答案和本文结合起来,得出了以下结论:

\n\n
body { \n    overflow: visible !important; \n    overflow-x: visible !important; \n    overflow-y: visible !important; \n}\n\n/*this is because I use angular and have this particular layout*/\nbody > .fade-ng-cloak { \n    height: 100%; \n    display: block;\n    flex: none;\n    float: none;\n}\n.l-content,\n.l-sidebar {\n    float: none;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以基本上:

\n\n
    \n
  1. 将主体设置为overflow: visible
  2. \n
  3. 将充当包装器的元素设置为display: block,消除所有flex样式并在必要时重置高度
  4. \n
  5. 消除float长容器
  6. \n
\n\n

这种混合对我有用!我很高兴我想我会分享:)

\n


srg*_*hma 5

对我来说(引导程序 4)解决方案是

@media print {
    .row {
      display: block;
    }
}
Run Code Online (Sandbox Code Playgroud)