【发布时间】:2020-04-05 15:59:39
【问题描述】:
我需要通过向 Angular 项目中应用不同的 CSS 类来加载、显示和动态更改 SVG 图像的颜色。
This question 没有帮助,因为它使用了 Modernizr 库,我想避免它。我也不想在 Angular 项目的 html 文件中直接复制图像的 path 标记中的 d 字段,因为这将是一堵我不愿意接受的文本墙。我可以接受使用外部专用库来获得正确的结果,例如ng-inline-svg,我尝试使用以下方式:
<div class="svg1" aria-label="My icon"
[inlineSVG]="'./assets/images/icons/ApplyIcon.svg'">
</div>
违反以下 CSS 类:
.svg1 {
color: green;
}
它将图像完美地加载为常规的img 标签,但如果我尝试对其应用自定义类来更改图像颜色,它就不起作用了。
此外,我尝试通过以下方式使用对象标签:
<div class="col-2">
<object
id="svg1"
data="./assets/images/icons/ApplyIcon.svg"
type="image/svg+xml">
</object>
</div>
但是,同样,如果我使用 CSS 指令 color: green; 或 fill: green; 将类应用于对象标记,则不会有任何改变。有什么想法可以实现我想要的吗?
【问题讨论】: