【发布时间】:2022-01-22 04:38:23
【问题描述】:
我正在创建一个 svg 图标来填充来自 linearGradient 的颜色百分比。
在 linearGradient 中,我正在动态创建 id,并希望在
中使用相同的动态创建的 id我尝试了插值填充={url(#linear${i})},但它不起作用,不确定这是否是在 SVG 中使用的正确方法。
有没有更好的方法来实现这一点?
<div *ngFor="let block of filteredBlocks; let i = index">
<svg xmlns="http://www.w3.org/2000/svg"
height="100px"
viewBox="0 0 24 24"
width="100px"
fill="url(#'linear' + i)">
<defs>
<linearGradient [attr.id]="'linear' + i">
<stop [attr.offset]="block.percent + '%'" stop-color="green"/>
<stop [attr.offset]="(100 - block.percent) + '%'" stop-color="white"/>
</linearGradient>
</defs>
<path d="M0 0h24v24H0V0z" fill="none" />
<path d="M17 4h3v16h-3V4zM5 14h3v6H5v-6zm6-5h3v11h-3V9z" />
</svg>
</div>
【问题讨论】:
标签: html css angular svg linear-gradients