我有一个包含DIV的页面。这个div是其他元素的容器,可以在打印时增加高度大于页面的高度。DIV未打印分页
我认为它会分页没有任何问题。我看到的问题是DIV的高度增加到第1页的整个高度,那就是了。打印输出的第1页以外不再显示。
经过一番试验,我发现display: inline
似乎解决了这个问题。我不懂为什么。
如果这确实是解决问题的办法,有人可以解释为什么这解决了我的问题。
我想了解这项工作的原因。
我有一个包含DIV的页面。这个div是其他元素的容器,可以在打印时增加高度大于页面的高度。DIV未打印分页
我认为它会分页没有任何问题。我看到的问题是DIV的高度增加到第1页的整个高度,那就是了。打印输出的第1页以外不再显示。
经过一番试验,我发现display: inline
似乎解决了这个问题。我不懂为什么。
如果这确实是解决问题的办法,有人可以解释为什么这解决了我的问题。
我想了解这项工作的原因。
@你的评论:你在正确的时间提出正确的问题,因为我目前的工作完全一样! :)我会分享一些截图来显示结果;我认为打印一个非常大的表格需要一个非常复杂的解决方案,但是对于我的表格来说它工作正常(我称之为“中等”)。
在我的应用程序中有一个容器div中的表格,其中的块元素的显示设置为表格单元格(使用浮动和边距时列宽不一致)。
1.页面在正常的WebView
2.把打印媒体查询的样式表,打印后的页面:(不介意暗格,这是一个面具我还没有删除)正如你可以看到表格经过多个页面,并水平缩放以适合。
@media print {
#data {overflow: visible; height: auto;} /* the container div */
.bld {display: block} /* the blocks you see in the table, web display: table-cell */
/* I tested all table{ display: inline, inline-table, and table } and they
all worked for me, as displayed in the screenshot below */
}
打印到一定DIV(也许行),我将把你这个职位,因为我还没有尝试过自己还,但可能是3.To集pagebreaks值得阅读: Make divs on a page print on seperate pages when printed
另一个黑客将某个位置,一个div X行的第一列里面,然后将这个div的CSS page-break-after: always;
迫使那些行分页符。我在tr,td和表格上测试了一些分页内容,但它不起作用(因为tr的样式与其他HTML元素有所不同)
4.作为不同显示值之间差异的参考: https://stackoverflow.com/questions/15130285/css-differences-between-style-display-inline-inline-table-and-table
如果您发现有关此主题的其他内容有趣,请在评论中张贴@,谢谢!
哇,非常感谢 - 那里有很多信息需要我花时间去消化和阅读链接的帖子。再次感谢 – psynnott
只是想知道 - 我测试过打印一个长格与内容以及 - 显示属性是否真的改变了那么多?我的意思是,在我的网页上,内容被自动放置在多个页面上,而我不必修复任何定位...... – Tyblitz
它可能与显示属性组合在一起。正如我所说,我确实希望它是自动的。另外 - 任何想法如何打印水平和垂直分页的大型表格? :) – psynnott