还是打印问题,210mm*297mm,打印时第1页的内容把第2页的内容往下撑多了,怎么办?

还是打印问题,window.print,每1页的的宽高是210mm*297mm,打印时第1页的内容把第2页的内容往下撑多了,怎么办?

每1个div是1个页面,宽高是210mm*297mm,内容都是按1页的内容放置的,页面下方还多留了一段空白,但在打印时,上一页的内容撑开了下一页的内容,应该怎么设置@media print @page里的css样式。谢谢。

补充内容:

阅读 2k
1 个回答

贴一下我的解决方法,可以解决上面问题。
主要原因:每页页面的高度297mm会撑开内容到下一页,所以缩小每页页面的高度。
另外,edge浏览器和chrome浏览器要判断,设置不同的高度。

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

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

    /* 边距 上右下左 */
    margin: 0cm 0cm 0cm 0.6cm;
    padding: 0cm;
  }
  /* 告诉浏览器在渲染它时不要对框进行颜色或样式调整 */
  * {
    -webkit-print-color-adjust: exact !important;
    -moz-print-color-adjust: exact !important;
    -ms-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /*打印时 不显示打印按钮*/
  .buttonNoPrint {
    display: none !important;
  }

  // 调整页面间距
  .common-table3 {
    margin: 0;
    padding: 0;
    line-height: 1em;
  }
//调整每页页面的高度,重点
    .reportPage {
        height: 279mm!important;
    }
    .reportPage:nth-last-child(2) {
        height: 277.8mm!important;
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题