我有一个带有非常宽的报告表的网页——几十列,相当多的水平滚动。当我尝试使用 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/