ZBLOG

在 Ant Design Vue (<a-col><a-textarea>) 中为文本域添加水印,可以通过以下两种方式实现:


方法1:使用 CSS 背景水印

直接通过 CSS 为 <a-textarea> 添加背景水印:

<a-col :span="16">
  <a-form-item label="打款备注" style="width:178%; margin-left: -145px">
    <a-textarea
      class="watermarked-textarea"
      v-model:value="formMakePay.remark"
      placeholder="打款凭证中的转账附言或者汇款附言或者附言中的内容"
      rows="3"
      :maxlength="300"
      @input="(e) => handleInput(e, 'remark')"
    />
  </a-form-item>
</a-col>

CSS 样式(全局或 Scoped)

.watermarked-textarea {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='100'><text x='10' y='50' font-size='14' fill='rgba(0,0,0,0.2)' transform='rotate(-15)'>0625rem</text></svg>");
  background-repeat: repeat;
}
  • 效果:文本域背景会显示倾斜的重复水印文字 “0625rem”。
  • 调整参数:修改 fill(透明度)、font-sizerotate(旋转角度)等。

方法2:使用伪元素覆盖(纯前端动态水印)

如果水印需要动态生成或更复杂控制,可以用伪元素覆盖:

.watermarked-textarea {
  position: relative;
}
.watermarked-textarea::after {
  content: "0625rem";
  position: absolute;
  top: 10px;
  left: 10px;
  color: rgba(0, 0, 0, 0.2);
  pointer-events: none; /* 防止干扰输入 */
}

注意事项

  1. 样式冲突:确保自定义样式不会被 Ant Design Vue 默认样式覆盖。
  2. 动态水印:如果需要根据数据动态生成水印(如从 v-model 获取),需通过 JavaScript/DOM操作实现。
  3. 响应式问题:如果布局复杂(如 margin-left:-145px),可能需要调整水印位置。

选择适合你场景的方案即可。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23322

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?