html - css 打印媒体查询只打印第一页

标签 html css printing

我使用 Print Media Query 在我的网页上打印一个可滚动的 DIV(主 DIV 包含一个子 DIV 和包含多行的表格以及来自 kendo 网格的自定义样式)。 window.Print() 仅在 IE 9 和 Chrome 中打印一页,并切掉其余的 DIV 内容。我如何确保它在多页中打印所有内容。我阅读了有关 Firefox 问题的类似帖子,但使用 overflow: visible !important 的解决方案对我不起作用。以下是我的风格

注意:我试过使用 position: absolute、height/width: 100% 并为 Table、TBody、TR 和 TD 设置与下面相同的设置,但没有用。

@media print {

body * {
    visibility: hidden;
  }

#divname, #divname* {
    visibility: visible;
  }

#divname
    {
        overflow: visible !important; 
        float:none !important;
        position: fixed;
        left: 0px;
        top: 0px;
        display:block !important;
        /*height:auto !important;*/
    }
}

编辑:我终于设法通过从 DOM 读取来打印,如下所示。以防万一,如果对某人有帮助

    `//get DIV content as clone
    var divContents = $("#DIVNAME").clone();
    //detatch DOM body
    var body = $("body").detach();
    //create new body to hold just the DIV contents
    document.body = document.createElement("body");
    //add DIV content to body
    divContents.appendTo($("body"));
    //print body
    window.print();
    //remove body with DIV content
    $("html body").remove();
    //attach original body
    body.appendTo($("html"));`

有了这个,您可以在重新绑定(bind)后保留与页面上的控件关联的客户端事件。

最佳答案

试试这个: 编辑:使用绝对位置。意识到 position:fixed 只创建一个页面,因为它就是这样工作的(你不能用 position:fixed 滚动)。 Absolute 做同样的事情,但它是可扩展的。

@media print {
    body * {
        visibility: hidden;
    }
    #divname, #divname * {
        visibility: visible;
    }
    #divname {
        left: 0px;
        top: 0px;
        position:absolute;
    }
    p {
        page-break-before: always;
    }
}
.para {
    font-size:x-large;
    height:3000px;
}

关于html - css 打印媒体查询只打印第一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25187715/

相关文章:

jquery - 在jquery中如何获取刚刚删除的LI项的ID?

html - 不同定位元素的 z-index

r - 在 R 中的同一行打印字符串和变量内容

javascript - 如何使用javascript显示div多步?

html - CSS3 中的垂直对齐

javascript - 尽管设置了断点,js 和 css 不起作用

javascript:window.print() 打印 2 页,而我有 1 页

c - 在C中读入并记录一个数字

html - 使用 chrome 和 firefox 10.2 结果完全不同

html - 溢出和 css3 列