IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    css print

    cc发表于 2017-02-26 12:07:00
    love 0

    最近做表单打印,遂整理了一些打印相关的内容。

    说到网页打印,首先想到的便是@media查询(即网页css),通过使用媒体类型print即可解决实际应用的大多数问题,比如实现只打印网页的某部分内容,调整字体大小、修改布局等使打印出来的纸质文件更简洁明了。代码如下:

    @media print{
    
        /*隐藏不打印的元素*/
        .no-print{
            display:none;
        }
        /*其他打印样式*/
    }

    但是,就打印表单来说,仅解决上述问题是不够的,我们无法忍受表单存在打印分页时内容被截断、分页显示顶部没有留白等问题。那么如何解决这些问题呢?这就要使用到css打印样式了,即@page,用来指定页面盒子的各个方面。

    eg1:尺寸、页边距设置

    @page{
         size: 5.5in 8.5in;       
         margin: 30px;
    }

    注:这里除了可以用长度值声明尺寸,还可使用纸质尺寸关键字”A4″或“legal”;亦可通过关键字指定页面方向“portrait”、“landscape”,默认为portrait垂直方向。当margin设置不起作用时检查打印机是否边距是否设置了默认以外的值。

    eg2:设置第一页、奇数页或偶数页样式(以首页为例)

    @page :first { 
    
        /*首页设置*/
    
    }

    注:left、right分别为偶数页、奇数页选择器。

    eg3:避免表格断开

    @page{
        table{
            page-break-after: avoid;
        }  
    }

    注:page-break-after对tr、td不起作用所以当以整体出现的时候要在同一个table中。

    eg4:避免某行文字断裂

    @page{
        table{
            page-break-inside: avoid;
        }  
    }


沪ICP备19023445号-2号
友情链接