SVG的填充属性无法正常工作

4

我从thenounproject.com获取我的SVG图标,但是无法更改它们的颜色,因为填充没有任何效果。

我正在使用Ruby on Rails,所以我使用了<%= image_tag('#'), :class => "tomatoe" %>

我的CSS如下:

.tomatoe{
    @include transition-property(all);  
    @include transition-duration(1s);
    fill: white;
    width: 100px;
    margin-top: 1em;
}

无论如何,Fill功能都无法正常工作。我在几个SVG文件上尝试过,但是一直没有成功,而且我也不知道原因。

1个回答

10

通过在img标签中导入SVG图像,无法使用CSS进行自定义。您需要将SVG代码嵌入HTML中才能实现此目的。

这个问题的被接受答案提出了一个有趣的方法,通过将每个img标签替换为内联SVG以允许CSS样式。


从来没有想过会这么复杂。有点希望能用纯CSS的方式来完成,但现在只能这样了。谢谢! - user2805193
1
这是一种纯CSS方法。只是CSS不适用于对象边界之间。外部SVG文件与HTML文件是不同的对象。您可以像Alcides所说的那样嵌入SVG来解决这个问题。 - Paul LeBeau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接