日期:2014-05-17  浏览次数:20836 次

CSS控制页面分隔符
    今天遇到了一个问题,在页面进行打印的东西,一些内容必须打印在一张A4纸上,起初想到把页面变成PDF然后再打印,但仍然无法控制页面的分页符。为此去Google了一圈,发现个好方法,Css就可以做到而且非常的简单。只需定义一个属性即可。

在CSS2中打印的属性如下:
page-break-after    设置元素后是否应当放置分页符。 auto、always、avoid、left、right
page-break-before   设置元素前否应当放置分页符。   auto、always、avoid、left、right
page-break-inside   设置元素内部是否应当放置分页符。 auto、avoid

于是我们可以利用这里面的属性来设置打印的属性,将我们要显示的放在一张纸上,如果内容超出一张灰显示在下一张上,但下一张会有一个分隔符,为此我们要尽量的用Css来控制我们的页面打印格式。
<html>
  <head>
        <style>
           .page{
              page-break-after:always;
           }            
        </sytle>

  </head>
  <body>
     <div>
        page-break-after    设置元素后是否应当放置分页符。 auto、always、avoid、left、right
        page-break-before   设置元素前否应当放置分页符。   auto、always、avoid、left、right
        page-break-inside   设置元素内部是否应当放置分页符。 auto、avoid
     </div>
<div class="page"></div>
   <div>
        page-break-after    设置元素后是否应当放置分页符。 auto、always、avoid、left、right
        page-break-before   设置元素前否应当放置分页符。   auto、always、avoid、left、right
        page-break-inside   设置元素内部是否应当放置分页符。 auto、avoid
     </div>
<div class="page"></div>
   <div>
        page-break-after    设置元素后是否应当放置分页符。 auto、always、avoid、left、right
        page-break-before   设置元素前否应当放置分页符。   auto、always、avoid、left、right
        page-break-inside   设置元素内部是否应当放置分页符。 auto、avoid
     </div>
    <div class="page"></div>
  </body>
</html>
此时page 的Css样式表就相当于插入了一个分页符,所有的内容将分为三页显示。