html 打印

【转载,出处未知,】,红色内容已测试,其余未测试。

 

在打印HTML页面时控制分页
2011年12月22日 星期四 下午 9:31

打印分页功能:
page-break-after, page-break-before
根据资料上的说法,应该是这么用的:
<style type=“text/css“>
.pageEnd {page-break-after:always}
</style>
然后在需要强制分页的地方用:
<br class=“pageEnd“>

 

IE与FF的分页打印问题

 

前几天遇到个问题,不大,但很头痛,原因是一个HTML页面中的table太大了,打印出来自动分页显示。在IE中不会有问题,在FireFox中出现跨页部分的table丢失问题。
解决办法是在使用PAGE-BREAK-AFTER属性(强制分页),并应用<style media="print">(将style只应用于打印输出)。具体如下
....
<STYLE type="text/css">
.diss {display:none;}
</STYLE>
<style media="print">
.diss {display:block;height:1px;}
.PageEnd { PAGE-BREAK-AFTER: always;}
</style>
<!--如果是IE,覆盖掉,否则IE打印有问题-->
<!--[if IE]>
<style media="print">
.diss {display:none;}
.PageEnd {}
</style>
<![endif]-->
........
<body>
.....
<div id="testDiv" class="diss"><p class="PageEnd">&nbsp;</p><br></div>
<table>
........

 

 

 

如何在打印HTML页面时 控制分页 

最近在开发中碰到这个问题, 开始一直没想到合适的解决方法, 后来有人提醒用CSS试试. 马上去查资料,发现CSS中有这个功能:

page-break-after, page-break-before

根据资料上的说法,应该是这么用的:
<style type="text/css">
br.pageEnd {page-break-after:always}
</style>

然后在需要强制分页的地方用:
<br class="pageEnd">


在打印HTML页面时控制分页
1, 如果以<table>标签间隔,用<div style="page-break-after: always"></div>实现
2, 如果以<tr>间隔,在要分页的地方用<tr style="page-break-after: always">实现

不过我用第2种方法后,虽然可以分页,但第2页上面的第一个tr的上边框不显示,怪


 

 

CSS2 打印参考
http://www.w3school.com.cn/css/css_ref_print.asp

 

有时候当我们需要把页面中一张太长的表格分成几页输出,并保证每一页的表格都能保留表头(或者包括表尾).也有时候我们需要控制表格中某一个包含内容比较多的行直接输出在下一页,以免这一行的内容被分割成两页.

在这种情况下,我们就需要用到CSS样式表来设置表格内行的style,从而达到我们想要的打印输出效果.

 

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>分页打印</title>
</head>

<body>
    <object id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 ></object>
    <table border="0" style="font-size:9pt;" width="300px" align="center">
        <thead style="display:table-header-group; font-weight:bold">
            <tr>
               <td colspan="2" align="center" style="font-weight:bold; border:3px double red">
                    每页都有的表头
               </td>
           </tr>
        </thead>
        <tbody>
            <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr style="page-break-after: always;">
                <td>在这个之后分页</td>
                <td>在这个之后分页</td>
           </tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
           <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
           <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
          <tr>
                <td>在这个之前分页</td>
                <td>在这个之前分页</td>
           </tr>
           <tr><td>表格内容</td><td>表格内容</td></tr>
           <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
            <tr><td>表格内容</td><td>表格内容</td></tr>
       </tbody>
       <tfoot style="display:table-footer-group; font-weight:bold">
            <tr>
               <td colspan="2" align="center" style="font-weight:bold; border:3px double blue">
                  每页都有的表尾
               </td>
           </tr>
        </tfoot>
    </table>
  <div align="center">
       <input type="button" value="打印预览" οnclick="document.all.WebBrowser.ExecWB(7,1)" />
       <input type="button" value="打    印" οnclick="javascript:window.print()" />
    </div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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中用于设置文档的分页大小、方向和分页设置等。 总之,通过使用HTML和CSS提供的分页设置元素和属性,我们可以轻松地控制打印文档的分页设置,从而改善文档的可读性和易用性。 ### 回答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、付费专栏及课程。

余额充值