多个svg渲染path时复用相同的defs market造成的market渲染异常及解决办法

问题及背景

用svg开发了个tree组件,path的箭头用的defs + marker标签

<defs>
<marker id="linkArrow" viewBox="0 0 10 6" refX="5" refY="0" markerWidth="10" markerHeight="6" orient="180">
<path d="M 5 0 L 0 6 L 10 6z" fill="#76788B" style="stroke-width: 0;"></path>
</marker>
</defs>

当同一个dom下复用多次tree组件时,market渲染异常,有时候显示有时候不显示

问题原因

属于html的基础知识了,dom下标签的id是不能重复的,开始时我忽略了这个问题,结果很打脸

解决方法

知道原因后解决方法也就呼之欲出了,在组件中为market标签的id赋动态属性值,效果如下:

<marker id="linkArrow1672911474088" viewBox="0 0 10 6" refX="5" refY="0" markerWidth="10" markerHeight="6" orient="180">
<path d="M 5 0 L 0 6 L 10 6z" fill="#76788B" style="stroke-width: 0;"></path>
</marker>

小感慨

基础知识要牢记,且开发中要谨记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值