HTML表格中的分页符[重复]

Posted

技术标签:

【中文标题】HTML表格中的分页符[重复]【英文标题】:Page Break in HTML Table [duplicate] 【发布时间】:2015-02-02 22:35:32 【问题描述】:

有没有办法在 html 表格中设置分页符?我一直在尝试在以下 HTML 上获取分页符:

<html>
    <title>testfile</title>
    <meta http-equiv="expires" content="0" />
    <meta http-equiv="cache-control" content="no-cache" />
    <meta http-equiv="pragma" content="no-cache" />
    <style type="text/css">
        PB 
            page-break-inside: avoid;
        
    </style>
    </head>
    
    <body>
        <table >
            <tr>
                <td ><i>Group:</i>
                </td>
                <td >Test Group 1</td>
            </tr>
            <tr>
                <td><i>Title:</i>
                </td>
                <td><b>Test Title 1</b>
                </td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>
        </table>
        <br/>
        <table >
            <PB>
                <tr>
                    <td ><i>Group:</i>
                    </td>
                    <td >Test Group 2</td>
                </tr>
                <tr>
                    <td><i>Title:</i>
                    </td>
                    <td><b>Test Title 2</b>
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                </tr>
            </PB>
        </table>
        <br/>
        <table >
            <PB>
                <tr>
                    <td ><i>Group:</i>
                    </td>
                    <td >Test Group 3</td>
                </tr>
                <tr>
                    <td><i>Title:</i>
                    </td>
                    <td><b>Test Title 3</b>
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;</td>
                </tr>
            </PB>
    </body>
</html>

它在 FireFox 中运行良好,但在 IE10 中运行良好。

我听说 IE 不喜欢表格中的分页符,如果是这种情况,是否可以使用替代方法或替代方法?

谢谢

【问题讨论】:

你总是可以只输出一个空行来创建一些空间。 &lt;tr&gt;&lt;/tr&gt; 代码显示没有尝试导致分页,并且它是无效的(HTML中没有PB元素)。 @JukkaK.Korpela page-break-inside 标签用于打印元素。据我了解,蒂姆基本上是在尝试设置页面,因此当用户打印表格数据时,它不会在表格中间被切断。是的,它是无效的:) 这个问题甚至没有说 分页符应该出现在哪里。 【参考方案1】:

您的代码设置不正确,您无法像现在一样使用&lt;PB&gt; 调用 CSS。你需要像这样构造它:

    <table  class="PB">
        <tr>
            <td ><i>Group:</i>
            </td>
            <td >Test Group 2</td>
        </tr>
        <tr>
            <td><i>Title:</i>
            </td>
            <td><b>Test Title 2</b>
            </td>
        </tr>
        <tr>
            <td>&nbsp;</td>
        </tr>
    </table>

问题是 page-break 类是为文本元素(H1-H6、P、块引用等)设置的,不一定是块元素,所以我不确定这种方法是否有效。如果它确实有效,我会确保在多个浏览器中对其进行测试,因为浏览器支持似乎不一致,或者至少我读过的内容不一致。

【讨论】:

以上是关于HTML表格中的分页符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

打印时防止表格中的分页符

WORD中怎样设置分页符

TCPDF:HTML 表格和分页符

用html横向、多页的分页打印,打印不出来,怎么办?

允许 tr 和 td 元素内的分页符

Chrome (v51) - 用于在表格行之间插入分页符的媒体查询 - 仅限横向