print

用于打印机样式修改

伪类修改样式

:left、:right、:first。

:left 和 :right

通过 :left 和 :right 设置左右页面不同样式,并不代表用户代理会将页面双面打印

/* 通过分别设置左页和右页不同的左右页面距,为装订边留出更多的空间 */
@page :left {
    margin-left: 2.5cm;
    margin-right: 2.7cm;
}

@page :right {
    margin-left: 2.7cm;
    margin-right: 2.5cm;
}

:first

用于匹配到文档的第一页

/* 首页上页边距设置为 10cm */
@page :first {
    margin-top: 10cm; 
}

分页

page-break-before

page-break-before用于设置元素前面的分页行为

div {
   page-break-before: avoid;
}

完整样式

@media print {
    
    @page {
      /* 纵向打印 */
      // size: portrait;

      /* 横向打印 */
      size: landscape;

      /* 去掉页眉页脚*/
      margin-top: 0;
      margin-bottom: 0;
    }
    /* 告诉浏览器在渲染它时不要对框进行颜色或样式调整 */
    * {
      -webkit-print-color-adjust: exact !important;
      -moz-print-color-adjust: exact !important;
      -ms-print-color-adjust: exact !important;
      print-color-adjust: exact !important;
    }

    /*打印不显示打印按钮*/
    .print-button-container {
      display: none !important;
    }
    
    /* 伪类 :first 用于匹配到文档的第一页, 首页上页边距设置为 10cm */
    @page :first {
      margin-top: 10cm; 
    }
    
    /* 通过分别设置左页和右页不同的左右页面距,为装订边留出更多的空间 */
    /**/
    @page :left {
      margin-left: 2.5cm;
      margin-right: 2.7cm;
    }
    @page :right {
      margin-left: 2.7cm;
      margin-right: 2.5cm;
    }
    
    
    
  }

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐