利用CSS的pointerEvents为页面添加水印
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用CSS的pointerEvents为页面添加水印,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1727字,纯文字阅读大概需要3分钟。
内容图文
![利用CSS的pointerEvents为页面添加水印](/upload/InfoBanner/zyjiaocheng/1030/a6fd5f6545b94826945a45f24c1fbeda.jpg)
pointer-events属性值详解
auto——效果和没有定义pointer-events属性相同,鼠标不会穿透当前层。在SVG中,该值和visiblePainted的效果相同。
none——元素不再是鼠标事件的目标,鼠标不再监听当前层而去监听下面的层中的元素。但是如果它的子元素设置了pointer-events为其它值,比如auto,鼠标还是会监听这个子元素的。
在项目中的util中建立wartermark.ts
const setWatermark = (str: any) => {
const id = '1.23452384164.123412416';
// 如果当前有水印效果,先移除水印重新生成
if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id) as any);
// 先使用canvas实现水印的图片
const can = document.createElement('canvas');
can.width = 250;
can.height = 180;
const cans: any = can.getContext('2d');
cans.rotate((-20 * Math.PI) / 180);
cans.font = '12px Vedana';
cans.fillStyle = 'rgba(200, 200, 200, 0.30)';
cans.textAlign = 'center';
cans.textBaseline = 'Middle';
cans.fillText(str, can.width / 10, can.height / 2);
// 创建div并把创建的水印图片当作背景重复平铺
const div = document.createElement('div');
div.id = id;
div.style.pointerEvents = 'none';
div.style.top = '35px';
div.style.left = '0px';
div.style.position = 'fixed';
div.style.zIndex = '10000000';
div.style.width = document.documentElement.clientWidth + 'px';
div.style.height = document.documentElement.clientHeight + 'px';
div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`;
document.body.appendChild(div);
return id;
};
const watermark = {
// 设置水印
set: (str: any) => {
let id = setWatermark(str);
if (document.getElementById(id) === null) id = setWatermark(str);
},
// 删除水印
del: () => {
let id = '1.23452384164.123412416';
if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id) as any);
},
};
export default watermark;
内容总结
以上是互联网集市为您收集整理的利用CSS的pointerEvents为页面添加水印全部内容,希望文章能够帮你解决利用CSS的pointerEvents为页面添加水印所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。