javascript - 用 window.print() 打印大表只打印一页

标签 javascript html css printing

我有一个带有非常宽的报告表的网页——几十列,相当多的水平滚动。当我尝试使用 window.print() 打印页面时,浏览器(Firefox 或 Chrome)只打印一页并切断其余页面。

有没有办法告诉浏览器打印整个网页,即使这意味着将表格溢出到更多(纸质)页面?

该表目前没有以任何方式显示或打印的样式。

最佳答案

Print a very wide HTML table without clipping right hand side

Print Stylesheets for pages with long horizontal tables
如果您必须采用仅 CSS 的方法,似乎表明您有点搞砸了。我能想到的唯一可能有用的东西(是的,我试过了)有点疯狂,比如

<style media="print">
table, table * {
 display:inline-block;
}
table tr {display:block;}
table td {padding:10px;}
</style>

当然,它试图取消正常的表格样式。

http://jsfiddle.net/jfcox/WTRxm/而且,显然是可打印的版本http://jsfiddle.net/jfcox/WTRxm/show/

似乎可以在 Firefox 和 Chrome 中使用(也就是说,它将单元格作为每一行的内联 block 流动)不过,我不知道标准对此有何看法。里程可能会有所不同。

编辑:作为奖励,向单元格添加计数器似乎并不难,这样您就知道单元格在哪一列(仅在 chrome 中测试)。
<style media="print">
table, table * {
 display:inline-block;
}
table tr {display:block;
    counter-reset: section; }
table td {padding:10px;}
table td:before {
    counter-increment: section;
    content: counters(section, ".") " ";
}    

</style>

关于javascript - 用 window.print() 打印大表只打印一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505006/

相关文章:

javascript - 将样式应用于购物 list 中新创建的元素

javascript - 我对未定义的检查仍然如何通过?

javascript - 如何在从另一条路线点击后立即获得徽章渲染

javascript - “请求 header 字段不允许授权”错误 - Tastypie

javascript - 使用 JQuery 几秒后隐藏消息

html - 内容溢出 flex 容器

javascript - 通过匿名函数调用javascript中的函数时是否可以保留 'this'?

javascript - 从 HTML 打开网络文件夹

css - 如何在IE10中使用css线性渐变?

javascript - 如何向从缩略图打开的图像添加关闭按钮