Css 打印表格时,chrome和safari将一行切成两半

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;

我对IE9、Firefox和Opera没有这个问题。只有Chrome和Safari

打印页面时,如果有一个表格需要在某个点上断开才能继续下一页,Safari和Chrome会将该行一分为二,并在第一页打印上半部分,在第二页打印下半部分

这是我试图使用的代码,它解决了我在IE9中遇到的一个问题——在下一页的每一行打印一个小的50px x 50px图像,在第一页打印文本

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没有解决方案。我希望有一个答案来解决这个问题。你能发布更多的代码吗?