利用 css 的 @media print 设置打印样式
思路:
- 把需要打印的内容用一个容器包裹(容器变量为: printDom);
- 创建一个新容器(主要是无副作用,自己创建的元素自己可控,printDom容器不能确定能不能改样式,新容器变量为: newPrintDom,方法: document.createElement(‘div’));
- 创建一个样式元素style,设置样式(控制打印元素和非打印元素的显示和隐藏,具体样式见下方代码);
- 把printDom容器克隆一份添加到新容器(方法: newPrintDom.appendChild(printDom.cloneNode(true)));
- 把新容器(newPrintDom)和style元素添加至body;
- 最后调用window.print方法,打印后移除新容器(newPrintDom)和style元素,大功告成;
代码:
<body>
<div>
<p>不需要打印的内容</p>
<p>不需要打印的内容</p>
<p>不需要打印的内容</p>
</div<