打印css仅在Safari中失败

打印css仅在Safari中失败,css,safari,Css,Safari,我有以下打印css: @media print { body > * { display: none; height:100%; overflow: hidden; background: #FFF; } .print-div{ display: block !important; left: 0; top: 0; right: 0; left: 0; border: none; position:

我有以下打印css:

@media print {
body > * {
    display: none;
    height:100%;
    overflow: hidden;
    background: #FFF;
}

.print-div{
    display: block !important;
    left: 0;
    top: 0;
    right: 0;
    left: 0;
    border: none;
    position: absolute;
    page-break-before: always;
    page-break-inside: avoid;
}
}
这在Firefox和Chrome中运行良好,但在Safari中失败。Safari print review将只显示空白页

我尝试将body设置为“visibility:hidden”,并将print div设置为“visibility:visible”,此时会显示div,但body的页面太多,我只想使用print-div在一个页面上打印


为什么Safari中的显示失败?

对于遇到类似问题的人,我尝试将打印div
位置:static
设置为打印。不知道为什么,但它是有效的。

您是否也为html提供了100%的高度?(高度,不是宽度,我以前写错了)@Johannes谢谢你的评论!是的,但那也不起作用。我试着将我所有的打印div的位置设置为static或relative,结果成功了。