我正在使用 print css 来隐藏某些元素,并在我不想要它们时停止分页符。用户可以选择在打印之前隐藏部分。
我的问题是,当我打印预览时,总是有一个额外的空白页(在 Chrome 和 Firefox 的末尾,在 Opera 的开头),我不知道为什么。IE没有问题,没有多余的页面(这令人震惊......)
我将不胜感激一些意见。我试过制作容器 div page-break-after: Avoid; 和分页后:自动;但都没有奏效。还取出 table.plain { page-break-inside:avoid; } 没有什么不同。
当用户单击隐藏图标时,排除类被添加到表中。这有效,并且任何具有排除类的内容都不会在打印中显示。用户想要打印的最后一页可能适合一页,也可能不适合。
这是我的html:
<body>
<div id="main">
<div id="content">
<div id="side" class="exclude">
...logo, etc, shown at side on screen...
</div>
<div id="data">
<table class="printOnly plain printHeader">
...logo, etc, to print at top...
</table>
<div>
<table class="detail plain">
<tbody>
<tr>
<td class="rel">
<div class="abs exclude visibility">
<a href="#" class="show ico-show ico hid">Show</a>
<a href="#" class="hide ico-hide ico">Hide</a>
</div>
<h3>Contact</h3>
</td>
</tr>
...more tr with contact details...
</tbody>
</table>
...more tables with other details...
</div>
</div> //data
</div> //content
</div> //main
</body>
这是我的打印CSS:
@media print {
.exclude {
display: none !important;
}
.printOnly {
display:block !important;
}
div#data,
div#data div {
width: 98% !important;
border: none !important;
}
table.plain { page-break-inside:avoid; }
}
非常感谢您的帮助:)