vue项目中给页面加水印

1,378 阅读1分钟

1.在vue2项目中增加水印方法

1.下载 watermark-dom 插件

npm install watermark-dom --save

2.引入 watermark-dom

      
    import watermark from 'watermark-dom'
    
    mounted() {
      watermark.load({watermark_txt:'hello'})
    }

3.配置参数

atermark_id: 'wm_div_id', //水印总体的id 
watermark_prefix: 'mask_div_id', //小水印的id前缀 
watermark_txt:"测试水印", //水印的内容
watermark_x:20, //水印起始位置x轴坐标 
watermark_y:20, //水印起始位置Y轴坐标
watermark_rows:0, //水印行数 
watermark_cols:0, //水印列数 
watermark_x_space:100, //水印x轴间隔 
watermark_y_space:50, //水印y轴间隔
watermark_font:'微软雅黑', //水印字体 
watermark_color:'black', //水印字体颜色 
watermark_fontsize:'18px', //水印字体大小
watermark_alpha:0.15, //水印透明度,要求设置在大于等于0.005 
watermark_width:100, //水印宽度 
watermark_height:100, //水印长度
watermark_angle:15, //水印倾斜度数
watermark_parent_width:0, //水印的总体宽度(默认值:body的scrollWidth和clientWidth的较大值) watermark_parent_height:0, //水印的总体高度(默认值:body的scrollHeight和clientHeight的较大值) watermark_parent_node:null //水印插件挂载的父元素element,不输入则默认挂在body上

watermark.load({参数})  // dom加载完后添加水印,在mounted中使用
watermark.init({参数})  // 初始化水印

4.效果图

image.png

2.在vue3项目中增加水印方法

1.element-plus中有新增watermark这个组件,但是版本要是 2.4.0+

<script setup lang="ts">
import { reactive, watch } from 'vue'
import { isDark } from '~/composables/dark'

const font = reactive({
  color: 'rgba(0, 0, 0, .15)',
})

watch(
  isDark,
  () => {
    font.color = isDark.value
      ? 'rgba(255, 255, 255, .15)'
      : 'rgba(0, 0, 0, .15)'
  },
  {
    immediate: true,
  }
)
</script>

<template>
  <el-watermark :font="font">
    <div style="height: 500px" />
  </el-watermark>
</template>

2.具体参数配置可以参考element-puls官网上面写的很详细,附上对应链接

element-puls 水印地址