window.print()打印页面指定区域内容
时间: 2023-09-02 14:10:01 浏览: 204
js打印部分网页
3星 · 编辑精心推荐
可以使用CSS中的打印样式表(@media print)来指定要打印的区域。
首先,给要打印的区域添加一个ID属性。比如:
```html
<div id="print-area">
<!-- 这里是要打印的内容 -->
</div>
```
接着,在CSS样式表中添加@media print规则,指定要打印的区域和不需要打印的元素:
```css
@media print {
/* 隐藏不需要打印的元素 */
body * {
visibility: hidden;
}
/* 显示要打印的区域 */
#print-area, #print-area * {
visibility: visible;
}
}
```
这样,当用户点击打印按钮时,浏览器会根据@media print规则来渲染打印页面,只显示指定的区域内容。
最后,在JavaScript代码中调用window.print()方法即可:
```javascript
// 打印指定区域
window.print();
```
需要注意的是,由于@media print规则会影响所有页面元素的可见性,所以在打印完毕后要及时恢复页面的可见性。可以在@media print规则中添加恢复可见性的代码:
```css
@media print {
/* 隐藏不需要打印的元素 */
body * {
visibility: hidden;
}
/* 显示要打印的区域 */
#print-area, #print-area * {
visibility: visible;
}
/* 恢复可见性 */
#print-area {
position: static;
}
}
```
这样,当打印完成后,指定区域就会恢复原来的可见性。
阅读全文