我已经尝试了很多不同的分页规则,但是我已经筋疲力尽了。
项目地点:
https://github.com/xremainnameless/lead_tracker
我要打印的表位于“leadúu queueúu.php”div中的“leadúu wrapperúu”部分。我使用“scripts/fillúall懔u.php”动态创建表,并使用文档上的“自定义打印”按钮打印表。
不管我应用了哪种css规则,我似乎都不能强迫页面被破坏。为了显示更干净的代码,我删除了所有的尝试。下面是@print CSS的一个片段:
@media print {
@page {size: landscape;}
body * {visibility: hidden;}
#lead_wrapper_u, #lead_wrapper_u * {visibility: visible;}
#lead_wrapper_u button {visibility: hidden;}
#lead_wrapper_u {
position: absolute;
left: 0;
Top: 0;
}
}
最佳答案
我总是建议不要在浏览器中使用打印按钮(ctrl+p);因为每个浏览器都有自己的首选项。您可以依赖其他框架将页面打印为不同的格式。例如,fpdf框架。
但是,如果坚持使用browsers按钮进行打印,则可以用div替换所有表;因为div总是在页面的末尾打断,而不会扭曲布局。
例如,如果您有此代码:
<table>
<tr>
<td>Name</td>
</tr>
<tr>
<td>City</td>
</tr>
<tr>
<td>DOB</td>
</tr>
</table>
.
.
.
然后,必须删除表元素,并替换为div,如下所示:
<div style = "border:black solid;">
<div style = "border:solid black;">Name</div>
<div style = "border:solid black;">City</div>
<div style = "border:solid black;">DOB</div>
</div>
.
.
.
这将确保每个div都会中断到下一页,而不会看起来像是被剪切了。