我有一个应用程序,使用window.print()打印html表,当我点击打印超链接时,应用程序工作正常,我面临的问题是分页,我有goggled,发现了很多解决方案,大多数他们使用CSS来解决问题,但是当我尝试下面显示的css时它不起作用.我在JS-Fiddle中嘲笑了一个示例演示来展示这个问题
在Chrome中测试它,以便人们可以看到预览并使用页面大小作为A4来查看分页符.
@media print {
body * {
visibility: hidden;
}
div {
page-break-inside: avoid;
}
table {
page-break-after: always;
page-break-inside: auto;
}
tr {
page-break-inside: avoid;
page-break-after: auto;
}
td {
page-break-inside: avoid;
page-break-after: auto;
}
thead {
display: table-header-group;
}
tfoot {
display: table-footer-group;
}
#printSection * {
visibility: visible;
}
#printSection {
position: absolute;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
width: 100%;
}
}
最佳答案 试试这个小提琴
CSS
@media screen {
#printSection {
display: none;
}
}
@media print {
table {
page-break-after: auto;
page-break-inside: auto;
width:100%;
border-width: 1px solid #000;
font-size:16px;
font-family:Arial;
}
td{
padding:2px 5px 2px 5px;
}
}
引用旧堆栈溢出线程
How to deal with page breaks when printing a large HTML table
Javascript就是出于此目的
只需将js添加到您的代码中,并将类“splitForPrint”添加到您的表中,它将整齐地将表拆分为多个页面,并将表头添加到每个页面.