Skip to content

Watermark 水印

基础用法

  • 在页面或卡片内容上方平铺一层倾斜重复的水印文本,水印层不拦截点击事件(pointer-events: none),内部按钮、开关等可正常操作
  • content 支持换行实现多行水印;字号、行距、列距、旋转角度、透明度均可调
  • 组件根节点为相对定位容器,水印层绝对定位铺满最上层(z-index 999)
vue
<template>
	<sn-watermark content="SinleUI" custom-style="border-radius:16px;">
		<view>
			<sn-text text="内容区示例"></sn-text>
		</view>
	</sn-watermark>
</template>

更多演示请下载 demo 查看

进阶用法

多行水印

content 中使用换行符即可生成多行水印。

vue
<template>
	<sn-watermark :content="'机密文件\n请勿外传'" color="rgba(239, 68, 68)" :font-size="16" :rotate="0">
		<view>
			<sn-text text="内部资料"></sn-text>
		</view>
	</sn-watermark>
</template>

属性

参数说明类型默认值可选值
content水印文本内容,支持 \n 换行;为空时显示 SinleUIString''-
color水印文字颜色Stringrgba(0, 0, 0)-
fontSize水印字号,数字单位为 px,支持 $ 动态尺寸语法String | Number$24-
letterSpacing水印文字字间距,数字单位为 pxString | Number2-
lineHeight水印文字行高,数字单位为 px,最小取字号大小,支持 $ 动态尺寸语法String | Number$24-
rowGap水印行间距,数字单位为 px,支持 $ 动态尺寸语法String | Number$80-
colGap水印列间距,数字单位为 px,支持 $ 动态尺寸语法String | Number$100-
rotate水印旋转角度(deg),范围 -90 ~ 90,超范围自动截断Number-30-90 ~ 90
opacity水印整体透明度(0-1)Number0.20 ~ 1
minHeight容器最小高度,数字单位为 px,为空时不设置String | Number''-
contentStyle自定义内容区样式UTSJSONObject | String''-
layerStyle自定义水印层样式UTSJSONObject | String''-
textStyle自定义水印文字样式UTSJSONObject | String''-
customClass根节点外部样式类String''-
contentClass内容区外部样式类String''-
layerClass水印层外部样式类String''-
textClass水印文字外部样式类String''-
customStyle自定义根节点样式UTSJSONObject | String''-

插槽

名称说明
default被水印覆盖的内容
content同默认插槽一样渲染在内容区,可作为多节点内容的补充插槽

使用 MIT 协议