通过html和css实现打印分页控制

需求

需要将每一条数据单独打印成一页,超过一页就为n页;不超过过一页,就为一页!!!

实现方法

我是通过page-break-before属性设置元素前的 page-breaking 行为。

auto默认值。如果必要则在元素前插入分页符。
always在元素前插入分页符。
avoid避免在元素前插入分页符。
left在元素之前足够的分页符,一直到一张空白的左页为止。
right在元素之前足够的分页符,一直到一张空白的右页为止。
inherit规定应该从父元素继承 page-break-before 属性的设置。

注意点

  1. 只能引用于position 值为 relative 或 static 的非浮动块级元素。

网页预览如下

打印预览如下

 

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>打印分页</title>
    <style>
        @media print {
            /* 在需要分页的元素之前插入分页 */
            .page-break {
                page-break-before: always;
            }

            /* 在需要避免分页的元素之后禁止分页 */
            .avoid-page-break {
                page-break-after: avoid;
            }
        }
    </style>
</head>

<body>
    <h1>第一页</h1>
    <p>一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁纪正规精类槽纪央忙绿调顺革隶树您市朗望铝析注项冰脸额康篇投顾架诗液纷裁嘴融浇故藏急锻模欢薄浆登锡滴袖阀鹰径届夏择罩综潜
    </p>

    <!-- 在这里插入分页 -->
    <div class="page-break"></div>

    <h1>第二页</h1>
    <p>一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁纪正规精类槽纪央忙绿调顺革隶树您市朗望铝析注项冰脸额康篇投顾架诗液纷裁嘴融浇故藏急锻模欢薄浆登锡滴袖阀鹰径届夏择罩综潜
    </p>

    <div class="page-break"></div>

    <h1>第三页</h1>
    <p>一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁纪正规精类槽纪央忙绿调顺革隶树您市朗望铝析注项冰脸额康篇投顾架诗液纷裁嘴融浇故藏急锻模欢薄浆登锡滴袖阀鹰径届夏择罩综潜
    </p>

    <!-- 在这里避免分页 -->
    <div class="avoid-page-break"></div>
    <h1>第四页</h1>
    <p>一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁纪正规精类槽纪央忙绿调顺革隶树您市朗望铝析注项冰脸额康篇投顾架诗液纷裁嘴融浇故藏急锻模欢薄浆登锡滴袖阀鹰径届夏择罩综潜
    </p>
</body>

</html>

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HTML是一种用于编写网页的标记语言,它允许开发者创建丰富的用户界面和页面布局。在打印网页时,我们通常需要进行一些分页设置,以确保打印页面的可读性和易用性。 HTML提供了一些元素,用于控制文档的分页设置。其中最常用的元素包括:page-break-before,page-break-after和page-break-inside。这些元素用于在文档中创建分页符,并控制页面的布局和显示。 使用page-break-before元素可以在当前元素前插入分页符,以确保页面在该元素之前分页。page-break-after元素则是在当前元素后插入分页符,以将当前元素放在下一页。而page-break-inside元素则用于控制当前元素内部的分页设置。 除了这些元素之外,HTML还提供了一些可用于控制打印设置的CSS属性。其中最常用的CSS属性包括:page-size、page-orientation、page-break-before、page-break-after和page-break-inside等。这些属性可以在CSS中用于设置文档的分页大小、方向和分页设置等。 总之,通过使用HTMLCSS提供的分页设置元素和属性,我们可以轻松地控制打印文档的分页设置,从而改善文档的可读性和易用性。 ### 回答2: 在 HTML 中,可以通过设置 CSS 样式来控制打印时的分页方式。一般来说,有两种常用的方式。 第一种,通过 CSS 的 page-break-before 或 page-break-after 属性来设置分页。其中,page-break-before 属性控制在当前元素前插入分页,而 page-break-after 属性则控制在当前元素后插入分页。这两个属性的值可以是 always、auto、avoid、left、right 或者一个数字。其中,always 表示强制分页,auto 表示自动分页,avoid 表示尽量避免分页(如避免在表格中间分页),而 left 和 right 则表示在左侧或右侧插入分页。如果值为数字,则表示当前元素的位置(如值为 2,则表示在第二页插入分页)。 第二种,通过 CSS 的 @page 规则来设置整个文档的分页方式。这种方式需要在 CSS 中使用 @page 规则来定义分页区域的大小、边距以及分页控制方式。其中,size 和 margin 属性可用来定义页面的大小和边距,而 page-break-before 和 page-break-after 则可用来控制分页方式。 需要注意的是,不同浏览器对于打印设置的支持程度不同,因此在设置分页时需要进行充分的测试和兼容性调整。 ### 回答3: HTML打印设置分页是指在HTML网页内容打印时,将内容分页显示在打印页面中。在HTML中,可以通过使用CSS(层叠样式表)来控制打印分页。具体方法是通过CSS的page-break属性来控制网页内容分页的位置。CSS中有两种page-break属性,分别为page-break-after和page-break-before,分别用于控制分页位置在当前元素之后或之前。 例如,设置一个DIV元素在打印时需要分页显示,可以使用以下CSS代码: div { page-break-after: always; } 此代码意味着在该DIV元素之后的内容将换行在新的一页上显示。 另外,在HTML打印时还可以使用CSS中的@page规则来控制整个页面的属性,例如页面大小、边距、页眉页脚等。可以通过以下方式添加@page规则来设置页面属性: @page { size: A4; margin: 2cm; /*其他属性...*/ } 以上代码意味着设置打印页面的大小为A4,并为其设置2厘米的上下左右边距。其他属性包括页眉页脚的设置,可以通过CSS的@page规则来实现。 总之,HTML打印设置分页需要通过CSS的page-break属性和@page规则来控制,以实现网页内容在打印页面中正确的分页显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值