SVG 图标无法上色
本文介绍了如何处理从 iconfont 下载 SVG 矢量图,使其可以被 CSS 样式上色。
从阿里矢量图标库(iconfont)下载的图标,以 SVG 的方式引用,有时会遇到无法使用color: #fffff
样式上色的情况
思路
- 观察图标发现,图标本身自带颜色
- SVG 图是是矢量图,颜色可以在 SVG 文件中定义
- 默认黑色
#00000
的图标可以上色
解决办法
修改iconfont.js
,正则搜索fill="#[0-9a-fA-F]*"
,替换为fill=""
。这样即可清除 SVG 本身的颜色信息。
修改后的 SVG 图标,发现可以使用 CSS 样式上色。
解释
在 SVG 中,fill 属性用于描述一个路径或一个形状的颜色,它的优先级高于 CSS 样式。因此把它清除掉就可以被 CSS 处理了。