Css 打印表格时,chrome和safari将一行切成两半
我对IE9、Firefox和Opera没有这个问题。只有Chrome和Safari 打印页面时,如果有一个表格需要在某个点上断开才能继续下一页,Safari和Chrome会将该行一分为二,并在第一页打印上半部分,在第二页打印下半部分 这是我试图使用的代码,它解决了我在IE9中遇到的一个问题——在下一页的每一行打印一个小的50px x 50px图像,在第一页打印文本Css 打印表格时,chrome和safari将一行切成两半,css,printing,tablerow,Css,Printing,Tablerow,我对IE9、Firefox和Opera没有这个问题。只有Chrome和Safari 打印页面时,如果有一个表格需要在某个点上断开才能继续下一页,Safari和Chrome会将该行一分为二,并在第一页打印上半部分,在第二页打印下半部分 这是我试图使用的代码,它解决了我在IE9中遇到的一个问题——在下一页的每一行打印一个小的50px x 50px图像,在第一页打印文本 table { page-break-inside:auto } tr { page-break-inside:avoid;
table { page-break-inside:auto }
tr { page-break-inside:avoid; page-break-after:auto }
我有7页,行数不同,平均约10-15行。
我能做些什么来解决这个问题
我使用PHP
foreach
从数组中创建表,因此我不希望编辑该代码,以便在页面之间保持一致。查看这些错误报告
下面是一个只允许行间分页符的表格示例。它应该可以在任何流行的桌面浏览器中工作,包括基于webkit的浏览器
<style>
table {
border-spacing: 0;
line-height: 1.25em;
}
table > tbody > tr > td {padding: 0;}
table > tbody > tr:first-child > td > div {border-top: 2px solid black;}
table > tbody > tr > td:first-child > div {border-left: 2px solid black;}
table > tbody > tr > td > div {
page-break-inside: avoid;
display: inline-block;
vertical-align: top;
height: 3.75em;
border-bottom: 2px solid black;
border-right: 2px solid black;
}
</style>
<table>
<tr>
<td><div>Content</div></td>
<td><div>Multi-<br/>line<br/>content</div></td>
</tr>
<tr>
<td><div>Content</div></td>
<td><div>Multi-<br/>line<br/>content</div></td>
</tr>
</table>
桌子{
边界间距:0;
线高:1.25em;
}
table>tbody>tr>td{padding:0;}
table>tbody>tr:first child>td>div{border top:2px纯黑;}
table>tbody>tr>td:first child>div{border left:2px纯黑;}
表>tbody>tr>td>div{
内部分页符:避免;
显示:内联块;
垂直对齐:顶部;
高度:3.75em;
底部边框:2件纯黑;
右边框:2倍纯黑;
}
内容
多行内容
内容
多行内容
不幸的是,它需要一个固定的高度在细胞内容,这可能会使它无用的大多数人谁见过这篇文章
在不设置固定内容高度的情况下实现这一点是可能的,但它非常复杂。查看我在中的答案,看看它是如何完成的。这已经被广泛地介绍过了:这只是一个例子。是的,但是webkit Browser没有解决方案。我希望有一个答案来解决这个问题。你能发布更多的代码吗?