我有一个HTML / CSS可打印表单,可以使用PHP从MySQL数据库生成内容。如果内容部分已满,我很难弄清楚如何让中间内容部分打印另一个页面。我需要保留徽标并订购总计部分,并且只跟踪中间内容部分。
有没有办法用JavaScript做到这一点?或者这个问题的最佳解决方案是什么?
附上截图标记以帮助查看问题。
http://timkipptutorials.com/images/linked/page1.png http://timkipptutorials.com/images/linked/page2.png
答案 0 :(得分:1)
如果使用div标签,则在每个页面上打印页眉和页脚都是非常困难的任务。在我的项目中,我搜索了几乎完整的网页,发现每页打印页眉和页脚都必须使用表格和CSS规则,而不使用表格和CSS,你不能在每个页面上打印标题。我正在为您提供以下代码:
<style>
@media screen{thead{display:none;}}
@media print{thead{display:table-header-group; margin-bottom:2px;}}
@page{margin-top:1cm;margin-left:1cm;margin-right:1cm;margin-bottom:1.5cm;}}
</style>
第一个CSS规则使得用户不会在屏幕上显示表格,第二个规则定义在打印期间,thead显示为table-header-group,因为如果省略此规则,此规则将在每个页面上显示标题标题不会打印在每个页面上,第三个规则是用于保持页边距不重叠页眉或页脚,你的html代码将如下所示:
<table>
<thead>
<tr>
<th> <--- Your header text would be placed here ---> </th>
</tr>
</thead>
<tbody>
<tr>
<td>
<--- Your printing text would be place here --->
</td>
</tr>
</tbody>
</table>
最后,我在IE,Safari,Firefox和Chrome上试过了一些东西代码,并且想告诉你,在Chrome上,标题只在第一页打印。我也多次报告过该错误,但Chrome对这个问题没有做任何事情。