作者:重庆制造漫画社 | 2023-08-15 12:29
我有一个项目,需要打印一个包含许多行的HTML表.
我的问题是表格在多页上打印的方式.它有时会减少一半,使其无法读取,因为一半位于页面的边缘,其余部分打印在下一页的顶部.
我能想到的唯一合理的解决方案是使用堆叠的DIV而不是表格,并在需要时强制分页.但在完成整个更改之前,我认为我之前可以问过这个问题.
1> Sinan Ünür..:
Test
这在WebKit浏览器中也失败了(例如Safari和Chrome)
CSS 2.1规范指出分页符样式属性仅应用于块级元素.表行的默认显示模式是表行.不幸的是,默认情况下,没有表元素是块级元素,包括表本身.
我可以确认这在Chrome或任何其他Webkit浏览器(例如Safari,Opera)中都不能正常工作 - 除非"工作正常"表示"排除任何被认为是可选的功能".我认为大多数人想要的是运行页眉和页脚,以及只允许行之间分页的表,截至2015/11/13,这两个表都没有在Webkit中实现.
虽然这是符合标准的方法,但目前实现该标准的唯一浏览器是Opera.请注意,这是css2的一部分,因此缺乏实施可能会在未来一段时间内成为问题,因为显然没有人关心.
@SinanÜnür这不是一个要求,所以你不能依赖它,不幸的是,从我的测试中我可以看到webkit看到"可能"而忽略了它之外的任何东西.奇怪的是,IE有一些相当不错的大表打印支持.从来没有想过我会在任何一点上赞美它.
2> Josh P..:
注意:使用page-break-after时:总是对于标记,它会在表的最后一位之后创建一个分页符,每次最后创建一个完全空白的页面!要解决这个问题,只需将其更改为page-break-after:auto即可.它会正确破坏而不会创建额外的空白页面.
....
3> vicenteherre..:
从SinanÜnür解决方案扩展:
Test
heading |
notes |
Long cell should'nt be cut |
Long cell should'nt be cut |
x |
似乎page-break-inside:avoid
在某些浏览器中仅考虑块元素,而不是单元格,表格,行也不考虑内联块.
如果您尝试display:block
了TR
代码,并使用那里page-break-inside:avoid
,它的工作原理,但与你的表格布局弄乱左右.
这是使用jquery动态添加div的简单方法:`$(document).ready(function(){$("table tbody th,table tbody td").wrapInner("
div>"); });`
4> MDave..:
这里没有任何答案适用于Chrome.GitHub上的AAverin已经为此创建了一些有用的Javascript,这对我有用:
只需将js添加到您的代码中,并将类"splitForPrint"添加到您的表中,它将整齐地将表拆分为多个页面,并将表头添加到每个页面.
5> marcgg..:
使用这些CSS属性:
page-break-after
page-break-before
例如:
....
通过
在chrome中不起作用。应用于TR时将被忽略,就像6/13/2012
推荐阅读
-
如何解决《用JavaScript创建MP4视频》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《不能使用'PhpParser\Node\Scalar\String'作为类名,因为它是保留的》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《如何加载模块并导航到模块?棱镜》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《是否可以仅从Firebase检索密钥列表?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《在Angular或js中吐出数组》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何根据列中的某个值为ag网格中的整行提供背景颜色?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《CakePHP3.x:查询以排除字段可以为NULL或为空('')的记录》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《在AzureADB2C中获取令牌时的CORS问题(ImplictFlow)》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《无法解析符号'android:TextAppearance.Material.Widget.Button.Inverse》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《SQLServer存储过程:运行时询问参数》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《c#条件OrderBy》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《sas存储过程中的宏变量》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何使用Web插件将JSON有效负载发送到RabbitMQ?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《为不同屏幕制作视图控制器的最佳方法》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《如何使用AVFoundation翻转视频》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《C++中的流有什么优点?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《当我将多行插入MySQL表时,每次都会将ID递增1吗?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何以编程方式将内容添加到WagtailStreamField?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《在openSuse上安装gemnokogiri时出错-无法创建Makefile而无法找到mkmf.log》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《垃圾收集符号Ruby2.2.1》经验,为你挑选了1个好方法。 ...
[详细]