javascript 命令无法进行媒体查询打印
Media query print doesn't work by javascript command
我正在使用媒体查询打印构建一个 html 报告。到目前为止,一切都运行良好,直到我在页面上添加了一个“打印”按钮来执行 JavaScript 命令“window.print()”。
通过使用快捷方式 (Ctrl + P),我的 Web 浏览器根据媒体打印显示打印预览,但是,当我单击“打印”按钮时,媒体查询规则被忽略。
现在有人知道如何解决吗?
@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;
}
}
它确实有效……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>
我正在使用媒体查询打印构建一个 html 报告。到目前为止,一切都运行良好,直到我在页面上添加了一个“打印”按钮来执行 JavaScript 命令“window.print()”。 通过使用快捷方式 (Ctrl + P),我的 Web 浏览器根据媒体打印显示打印预览,但是,当我单击“打印”按钮时,媒体查询规则被忽略。
现在有人知道如何解决吗?
@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;
}
}
它确实有效……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>