添加水印的方法有很多,现在要实现打印后,也要带水印。
我试了三种添加水印的方法:(具体实现方法都能搜到)
1. 生成canvas定位在最上层(出bug了)
由于是定位,显示在打印窗口上就会覆盖内容。
2. 生成多个水印样式的div,追加在内容中(又出bug了)
如上图,打印方法是把html中的要打印的dom拿出来,这样就会把生成的多个水印元素也带出来,
就出现bug了,这些水印元素到打印窗口后,打印的文字会变小,造成打印多余。如下图:
奇怪的点就是加上打印元素后,打印的文字变小了,还没有找到原因是什么。
只能换添加水印的方法试试。
3. 还是生成canvas,但不是定位在最上层了,而是转化成背景图片(解决,无bug了)
一个小插曲,设置背景在打印窗口不显示,这样就看不到水印了,但可以解决!
@media print {
#detail-content{
-webkit-print-color-adjust: exact;
}
}
给有水印背景的元素加上这样的样式就可以了!!
以上。
大家有bug都能解决!!!