跳转到内容

Watermark 水印 ​

在内容区域上重复显示文字或图片水印。

用法 ​

为内容添加文字水印

季度报告

本季度活跃用户增长 18.6%,核心功能使用率持续提升。

组件结构 ​

加粗的是必需部件。

data-scope="watermark":root · content

示例 ​

多行水印 ​

显示归属和时间信息

设计稿预览

该内容仅供项目成员评审。

外观 ​

设置角度、间距、字号和透明度

默认
紧凑
宽松

自定义颜色 ​

设置水印前景色

财务摘要

仅限授权成员查看。

设计指引 ​

何时使用 ​

  • 标记内部数据、预览稿或样例内容。
  • 在导出或截图内容中保留归属信息。

何时不用 ​

  • 水印不能替代访问控制或数据脱敏。
  • 装饰纹理应使用背景样式。

特性 ​

  • 支持单行、多行文字和图片水印。
  • 支持角度、间距、字号、透明度和字体配置。
  • 水印不拦截指针事件,也不影响文本选择。
  • 深浅主题下自动使用对应的前景色。

组合 ​

最佳实践 ​

  • 保持水印可见,但不要干扰正文阅读。
  • 需要追溯时包含用户、时间或文档编号。
  • 图片水印优先使用轮廓清晰的单色图形。

反模式 ​

  • 不要把水印当作安全边界。
  • 不要使用过高的不透明度。

API 参考 ​

产物 ​

层值
自定义元素<xh-watermark>
Vue 组件XhWatermarkContent XhWatermarkRoot
状态机无,connect 直接由 props 算属性
皮肤@xihan-ui/styles/watermark.css

Props ​

属性类型必填说明
fontFamilystring印文字使用的字体,默认 sans-serif。 图样是一张用作遮罩的 SVG,无法获取页面中的字体,因此需要在这里把字体名写全 (例如 'PingFang SC, sans-serif');书写的字体在运行环境中不存在时由平台自行回退。
fontSizenumber字号,单位像素,默认 14。
gapnumber两块图样之间的空白,单位像素,默认 24。
imagestring印在文字上方的图片,只接受 data:image/ 开头的内联图片。 图样用作遮罩,遮罩只取图样的透明度:印出的是该图的剪影,颜色仍由 --xh-watermark-fg 提供。外部地址一律不接受:SVG 作为图片使用时无法获取外部资源, 接受也无法印出内容。
imageSizeWatermarkImageSize图片的像素尺寸,默认 64 × 64。
opacitynumber印记的深浅,0 到 1,默认 0.15。
rotatenumber倾斜角度,单位度,默认 -22。
textstring | string[]水印文字。提供数组即多行,单个字符串中的换行同样断行; 空白行会被去除:它只使图样增高,不印出任何内容。

connect API ​

getXxxProps() 返回对应部件的宿主属性。

成员类型说明
linesreadonly string[]归一化后的文字行;没有可印的文字时为空数组。
tileWatermarkTile图样尺寸,即平铺步距;没有图样时宽高都是 0。
imagestring图样的 data URI;没有图样时为空串。
stateWatermarkState
getRootProps() => T['element']
getContentProps() => T['element']

无障碍 ​

键盘 ​

规格出处:W3C APG

无键盘交互(不接收焦点,或焦点行为完全由原生元素提供)。

样式参考 ​

皮肤 ​

@xihan-ui/styles/watermark.css 使用 [data-scope="watermark"][data-part="root"] 部件选择器,位于 xihan.components 层。覆盖样式使用 xihan.overrides。

CSS 变量 ​

本组件公开覆盖槽由独立皮肤的实际消费位生成;默认来源、作用部件和状态均与 CSS 同源。

变量部件CSS 属性状态默认来源说明
--xh-watermark-fgrootbackground-colorstate=ready--xh-fg-mutedwatermark 的 root 部件 background-color 覆盖槽。
--xh-watermark-imageroot-webkit-mask-image
mask-image
state=readynonewatermark 的 root 部件 -webkit-mask-image、mask-image 覆盖槽。
--xh-watermark-tileroot-webkit-mask-size
mask-size
state=readyautowatermark 的 root 部件 -webkit-mask-size、mask-size 覆盖槽。

动效 ​

本组件皮肤不含过渡与关键帧,也没有脚本驱动的动效:状态一变,外观立即到位。

Released under The MIT License