javascript命令无法使用媒体查询打印

时间:2016-03-08 03:18:27

标签: javascript html css printing media-queries

我正在使用媒体查询打印构建html报告。到目前为止,一切都运行良好,直到我添加了一个执行JavaScript命令“window.print()”的按钮。 通过使用快捷方式(Ctrl + P),我的网络浏览器根据媒体打印设置显示打印预览,但是,通过尝试使用我已包含在报告中的自定义按钮“打印”,媒体查询具有被忽略了。 现在有人怎么解决它?

@media print {

  @page { 
    size: A4; 
    margin: 1cm
  }

  body * {
    visibility: hidden;
  }

  .printArea, .printArea * {
    visibility: visible;
  }

  .spacePrint{
    border: 1px solid #ccc;
  }

  .printArea {
    margin-top :0;
    position: fixed;
    left: 0;
    top: 0px;
  }
}

1 个答案:

答案 0 :(得分:0)

确实有效...... here's a sample

在Chrome,IE11和Edge中测试过。

function doPrint() {

  window.print();

}
@media print {
  @page {
    size: A4;
    margin: 5cm;
  }
  body * {
    display: none;
  }
  body h1 {
    display: block;
  }
}
<body>
  <h1>Print Hello World!</h1>
  <div>You cannot print me!</div>
  <button onclick="doPrint()">Print Me!</button>
</body>