2012-05-15 38 views
5

我有一个比较长的表格。每个记录有六行。因此,标识符为16的项目具有<tr-16-1><tr-16-2>.....<tr-16-6>,标识符25将为<tr-25-1><tr-25-2>.....<tr-25-6>等。分组表格和分页符

我希望分页符不分割六行中的任何分组。因此,如果<tr-25-6>将继续在新页面上,我希望所有<tr-25's>与它打破。

如果有帮助,我可以轻松地将一个类附加到所有六行。任何人都可以请指出我在正确的方向如何做到这一点?非常感谢你的帮助。

+0

时说_在新的页面上_你在谈论打印规则? – fcalderan

+0

- 谢谢。 –

回答

5

一种可能性是分组全部指的是相同的记录单tbody内的行,因此你有更多tbody每一个含有6行(it's perfectly fine和似乎是合乎逻辑的作为原子团), 然后添加此规则介质打印

@media print { 
    tbody { 
     page-break-inside: avoid; 
    } 
} 

这样一个tbody内分页符会被避免。
不幸的是page-break-inside上支持所有现代浏览器except Firefox(错误#132035

+1

刚刚给了一个尝试 - 在自己的tbody标签中包装所有tr组,但不幸的是,它没有解决问题。我试过Chrome和IE。 –

+0

你可以发布一个例子与一些数据提琴和更新你的问题?我会尽力进一步调查 – fcalderan

+1

非常感谢。我在http://jsfiddle.net/wKvuP/发布了一个示例。您可能需要重复数据才能为分页符创建足够的信息。再次感谢你的帮助。 –

1

我想给这一个镜头:

@media print { 
    tr, td, th { page-break-inside:avoid } 
} 
1

如果你不想使用@media标签,这是另一种方式:

添加class=print-entire到表,并添加这种风格:

table.print-entire tr td, table.print-entire tr th { 
     page-break-inside: avoid; 
    }