html打印的常见问题:
1.background-color不生效
2.关键dom被分页,防止分页
3.相邻dom连接太紧密,需要分页
解决方案:
1.background-color不生效:
设置该dom或者上级dom的style:-webkit-print-color-adjust: exact;
2.关键dom被分页,防止分页
不想分页的dom,比如div,设置style: page-break-inside: avoid;可以避免该dom被分页
3.相邻dom连接太紧密,需要分页
给期望的页尾部分设置style:page-break-after: always;设置了这个属性的dom,打印的时候该dom所在的最后一页的后面不会显示其他dom,下一个dom显示在下一页
浏览器中html打印的方法:
打印整个html页面:
window.print()
打印iframe
document.getElementsByTagName("iframe")[0].contentWindow.print()
默认不支持打印单个dom元素,所以一般封装一个dom为独立页面,然后通过iframe加载,然后打印iframe。