Firefox打印额外的空白页面

时间:2011-09-13 07:44:46

标签: css firefox printing

我有一个可以在Chrome,Safari和IE上正确打印的网页,但在Firefox上有以下问题:

它只打印第一页上的标题。其余部分是空白的。 实际内容仅在第2页显示。

谷歌搜索了一下我发现“浮动:左”风格造成了它。 如果我删除“浮动:左”它打印好,但它看起来不像它应该在打印和屏幕上显示彼此相邻的2列。

这个问题有解决方法吗?

感谢。

6 个答案:

答案 0 :(得分:9)

嗨我有类似的问题,但是当我打印时,我在END处有一个额外的空白页。 IE会做同样的事情,所以我认为我有CSS问题。

长话短说,我发现如果你有一个段落作为body元素中的第一个元素,并且段落在CSS中设置了'margin'属性,那么它会在末尾打印一个空白页面。有趣的是,如果只有一页,它只打印一个空白页。如果我从样式中删除了边距或在段落之前添加了一个元素,则它不会打印额外的空白页面。

JAB

答案 1 :(得分:2)

我发现将HTML中的页面高度设置为比打印机页面高度中指示的小一点,可以防止出现空白页。

答案 2 :(得分:1)

尝试使用打印样式表:

<link rel="stylesheet" href="print.css" type="text/css" media="print" />

在此样式表中,您将能够删除float:left以进行打印,而不会影响浏览器中的布局。

的Al

答案 3 :(得分:1)

是否有确切的问题 - 标题后跟空白页或半页。如果您的布局严重依赖于表格,则可以将vertical-align规则设置为middlebaseline以外的任何内容。

将规则设置为中间,如图所示修复

@media print {
    table tr td {
        vertical-align: middle;
    }
}

答案 4 :(得分:0)

我的表格中有内容,可以解决此问题。

tr { page-break-inside: avoid; }

答案 5 :(得分:0)

经过多次尝试,我发现如果您将 page-break-after: always; 应用到最后一个元素,Firefox 会在最后显示一个空白页面。您可以使用诸如 :not(:last-child) 之类的东西来阻止它。