php - 如果达到 div 高度,则强制将内容放到新的打印页面上

标签 php javascript html css printing

我有一个 HTML/CSS 可打印表单,它使用 PHP 从 MySQL 数据库生成内容。如果内容部分已满,我很难弄清楚如何让中间内容部分打印另一页。我需要保留 Logo 和订单总计部分,只跟踪中间内容部分。

有没有办法用 JavaScript 做到这一点?或者这个问题的最佳解决方案是什么?

附件是帮助查看问题的屏幕截图标记。

http://timkipptutorials.com/images/linked/page1.png http://timkipptutorials.com/images/linked/page2.png

最佳答案

如果您使用 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 不会显示在用户的屏幕上,第二个规则定义在打印期间 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 没有对此问题采取任何措施。

关于php - 如果达到 div 高度,则强制将内容放到新的打印页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18431875/

相关文章:

javascript - Bootstrap 折叠部分并通过一个按钮展开另一个部分

javascript - 如何在我的手指移动时一直使用 jquery mobile 获取 XY 坐标?就像桌面的 mousemove

css - Img 没有显示表格的全宽

php - 是否有独立的 PHP 路由库?

php - 关于后端的架构决策

php - 如何从该 php 中删除文件上传脚本而不干扰 INSERT

php - CssRewrite 过滤器不会将相对 URL 转换为绝对

javascript - 将播放按钮添加到工具栏

javascript - 使用ajax检查电子邮件是否存在

javascript - 如何在 AngularJs 指令中使用 Controller 变量