打印时保留跨越多个页面的HTML元素

我有以下HTML,我想保持跨越多个页面时被分解。问题是如果我使用page-break-before或after,它将把每个元素放在它自己的页面上。我遇到的另一个问题是,如果我将单元格CSS类或换行类设置为display:block,则DIV或LI仍然被分解。我还有一个打印媒体CSS文件和CSS文件。我想保留< li class =“cell”>元素及其内容被破坏。
<div class="pad">
        <h1 style="text-align: center; margin: 10px 0">

            Work Orders for Jan 05,2011
        </h1>
        <p class="printHidden">
            <a href="/orders/print-all/date/2011-01-05">Print All Work Orders</a>
        </p>
        <ul class="workorders">                    
            <li class="cell">
                <div class="wrap" id="146">

                    <div class="scheduled">
                        <p>
                            <strong>Work Order:</strong> <a href="/orders/view/work-order/146">158801</a>
                        </p>
                        <p>
                            <strong>Client:</strong> Client Name
                        </p><br>

                        <b>Resources</b>
                        <ul>
                            <li>
                                <a href="/resources/view/resource-id/5" id="Person-5">Mikell McLaindon</a>
                            </li>
                            <li>
                                <a href="/resources/view/resource-id/9" id="Person-9">Jose Copper</a>

                            </li>
                        </ul>
                    </div>
                    <div class="unschedule printHidden">
                        <h1 style="text-align: center; margin: 10px 0 10px; font-size: 12px; font-weight: bold;">
                            Unschedule Resource for 15880-PW
                        </h1>
                    </div>
                </div>
            </li>
            {... removed for brevity ...}

解决方法

编辑:正确解决方

见:http://www.w3schools.com/css/pr_print_pagebi.asp
所以如果你添加以下到你的CSS应该解决你的问题:

@media print
{
    div.pad { page-break-inside:avoid; }
}

不幸的是,这只能在Opera上工作。但是,还有一个页面突破:避免和分页符号:避免可以添加到.pad类中的每个元素,以便在浏览器之间产生相同的结果。

@media print
{
    div.pad * { 
        page-break-after:avoid;
        page-break-before:avoid;
    }
}

http://www.w3schools.com/Css/pr_print_pagebb.asp

http://www.w3schools.com/css/pr_print_pageba.asp

旧答案:

这听起来像是在一个不适合页面页面上设计一些东西。我会尝试添加一个样式表与media =“打印”…

<link rel="stylesheet" href="css/print.css" type="text/css" media="print" charset="utf-8" />

…减少所有这些元素的字体大小,填充等,以便您可以在本节之前放置一个分页符并使其适合页面

相关文章

操作步骤 1、进入elasticsearch的plugin,进入ik。进入config。 2、在config下面建立以.dic为后缀的字典...
lengend data数据中若存在&#39;&#39;,则表示换行,用&#39;&#39;切割。
代码实现 option = { backgroundColor: &amp;#39;#080b30&amp;#39;, tooltip: { trigger: &...
问题原因 原因在于直接在js中取的变量并复制给var变量。 于是就变成这样。 解决办法 var data = &#...
前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选...
对于很多人来说,用字符编码都是熟能生巧,而不清楚为什么是那样的字符编码,所以我在这列了一个表,翻...