Back to Ant Design

Watermark

components/watermark/index.zh-CN.md

6.3.73.2 KB
Original Source

何时使用 {#when-to-use}

  • 页面需要添加水印标识版权时使用。
  • 适用于防止信息盗用。

代码演示 {#examples}

<!-- prettier-ignore -->

<code src="./demo/basic.tsx">基本</code> <code src="./demo/multi-line.tsx">多行水印</code> <code src="./demo/image.tsx">图片水印</code> <code src="./demo/custom.tsx">自定义配置</code> <code src="./demo/portal.tsx">Modal 与 Drawer</code>

API

通用属性参考:通用属性

[email protected] 版本开始提供该组件。

Watermark

参数说明类型默认值版本
width水印的宽度,content 的默认值为自身的宽度number120
height水印的高度,content 的默认值为自身的高度number64
inherit是否将水印传导给弹出组件如 Modal、Drawerbooleantrue5.11.0
rotate水印绘制时,旋转的角度,单位 °number-22
zIndex追加的水印元素的 z-indexnumber9
image图片源,建议导出 2 倍或 3 倍图,优先级高 (支持 base64 格式)string-
content水印文字内容string | string[]-
font文字样式FontFont
gap水印之间的间距[number, number][100, 100]
offset水印距离容器左上角的偏移量,默认为 gap/2[number, number][gap[0]/2, gap[1]/2]
onRemove水印因 DOM 变更被移除时触发的回调() => void-6.0.0

Font

<!-- prettier-ignore -->
参数说明类型默认值版本
color字体颜色CanvasFillStrokeStyles.fillStylergba(0,0,0,.15)
fontSize字体大小number16
fontWeight字体粗细normal | lighter | bold | bolder | numbernormal
fontFamily字体类型stringsans-serif
fontStyle字体样式none | normal | italic | obliquenormal
textAlign指定文本对齐方向CanvasTextAligncenter5.10.0

主题变量(Design Token){#design-token}

<ComponentTokenTable component="Watermark"></ComponentTokenTable>

FAQ

处理异常图片水印 {#faq-invalid-image}

当使用图片水印且图片加载异常时,可以同时添加 content 防止水印失效(自 5.2.3 开始支持)。

typescript
<Watermark
  height={30}
  width={130}
  content="Ant Design"
  image="https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*lkAoRbywo0oAAAAAAAAAAAAADrJ8AQ/original"
>
  <div style={{ height: 500 }} />
</Watermark>

从 5.18.0 版本后,为什么添加了 overflow: hidden 样式? {#faq-overflow-hidden}

在之前版本,用户可以通过开发者工具将容器高度设置为 0 来隐藏水印,为了避免这种情况,我们在容器上添加了 overflow: hidden 样式。当容器高度变化时,则内容也一同被隐藏。你可以通过覆盖样式来修改这个行为:

tsx
<Watermark style={{ overflow: 'visible' }} />