在打印模式下重复表头

在 CSS 中使用@页面内部的属性是否可能说明,如果表分布在多个页面上,那么每个页面上的表头都应该重复出现?

185870 次浏览

这就是 元素的用途。官方文档 给你

一些浏览器在每个页面上重复 thead元素,就像它们应该做的那样。其他人需要一些帮助: 添加到您的 CSS:

thead {display: table-header-group;}
tfoot {display: table-footer-group;}

Opera 7.5和 IE 5不会重复标题,无论你尝试什么。

(来源)

如果你在你的 CSS 中添加以下内容,那么飞碟 xhtmlrenderer 会在 PDF 输出的每一页上重复 THAD:

        table {
-fs-table-paginate: paginate;
}

(它至少在 R8发行版之后就可以工作了。)

更新: 看起来这个问题可能在2016年就已经解决了! < a href = “ https://bugs.chromium.org/p/chromium/issues/Details? id = 24826 # c45”rel = “ nofollow noReferrer”> https://bugs.chromium.org/p/chromium/issues/detail?id=24826#c45

原答案(2012) : 在实现这个解决方案之前,一定要知道 Webkit 目前没有这样做。

下面是 Chrome 问题跟踪器的相关问题: http://code.google.com/p/chromium/issues/detail?id=24826

Webkit 问题追踪器: https://bugs.webkit.org/show_bug.cgi?id=17205

如果你想证明它对你很重要,那么在 Chrome 问题跟踪器上打上星号(我做到了)。

Chrome 和 Opera 浏览器不支持 thead {display: table-header-group;},但其他浏览器都能正常支持... ..。

如何打印 HTML 表格。页眉和页脚上的每一页

也可以在 Webkit 浏览器中工作

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function PrintPage() {
document.getElementById('print').style.display = 'none';
window.resizeTo(960, 600);
document.URL = "";
window.location.href = "";
window.print();
}


</script>
<style type="text/css" media="print">
@page
{
size: auto; /* auto is the initial value */
margin: 2mm 4mm 0mm 0mm; /* this affects the margin in the printer settings */
}
thead
{
display: table-header-group;
}
tfoot
{
display: table-footer-group;
}
</style>
<style type="text/css" media="screen">
thead
{
display: block;
}
tfoot
{
display: block;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 500px; margin: 0 auto;">
<thead>
<tr>
<td>
header comes here for each page
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
1
</td>
</tr>
<tr>
<td>
2
</td>
</tr>
<tr>
<td>
3
</td>
</tr>
<tr>
<td>
4
</td>
</tr>
<tr>
<td>
5
</td>
</tr>
<tr>
<td>
6
</td>
</tr>
<tr>
<td>
7
</td>
</tr>
<tr>
<td>
8
</td>
</tr>
<tr>
<td>
9
</td>
</tr>
<tr>
<td>
10
</td>
</tr>
<tr>
<td>
11
</td>
</tr>
<tr>
<td>
12
</td>
</tr>
<tr>
<td>
13
</td>
</tr>
<tr>
<td>
14
</td>
</tr>
<tr>
<td>
15
</td>
</tr>
<tr>
<td>
16
</td>
</tr>
<tr>
<td>
17
</td>
</tr>
<tr>
<td>
18
</td>
</tr>
<tr>
<td>
19
</td>
</tr>
<tr>
<td>
20
</td>
</tr>
<tr>
<td>
21
</td>
</tr>
<tr>
<td>
22
</td>
</tr>
<tr>
<td>
23
</td>
</tr>
<tr>
<td>
24
</td>
</tr>
<tr>
<td>
25
</td>
</tr>
<tr>
<td>
26
</td>
</tr>
<tr>
<td>
27
</td>
</tr>
<tr>
<td>
28
</td>
</tr>
<tr>
<td>
29
</td>
</tr>
<tr>
<td>
30
</td>
</tr>
<tr>
<td>
31
</td>
</tr>
<tr>
<td>
32
</td>
</tr>
<tr>
<td>
33
</td>
</tr>
<tr>
<td>
34
</td>
</tr>
<tr>
<td>
35
</td>
</tr>
<tr>
<td>
36
</td>
</tr>
<tr>
<td>
37
</td>
</tr>
<tr>
<td>
38
</td>
</tr>
<tr>
<td>
39
</td>
</tr>
<tr>
<td>
40
</td>
</tr>
<tr>
<td>
41
</td>
</tr>
<tr>
<td>
42
</td>
</tr>
<tr>
<td>
43
</td>
</tr>
<tr>
<td>
44
</td>
</tr>
<tr>
<td>
45
</td>
</tr>
<tr>
<td>
46
</td>
</tr>
<tr>
<td>
47
</td>
</tr>
<tr>
<td>
48
</td>
</tr>
<tr>
<td>
49
</td>
</tr>
<tr>
<td>
50
</td>
</tr>
<tr>
<td>
51
</td>
</tr>
<tr>
<td>
52
</td>
</tr>
<tr>
<td>
53
</td>
</tr>
<tr>
<td>
54
</td>
</tr>
<tr>
<td>
55
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>
footer comes here for each page
</td>
</tr>
</tfoot>
</table>
</div>
<br clear="all" />
<input type="button" id="print" name="print" value="Print" onclick="javascript:PrintPage();"
class="button" />
</form>
</body>
</html>