html - SVG 背景颜色不适用于 Firefox

标签 html css svg

我在使用 svg 时遇到了一些问题。我有以下 html 和 css 代码

<i id="iconApp" class="icon_approved icon_lg pull-right"></i>

.icon_approved {
    background-color: #fab700;
    display: block;
    mask: url(../Tick-Solid.svg) no-repeat 50% 50%;
    -webkit-mask: url(../Tick-Solid.svg) no-repeat 50% 50%;
    background: url(../Tick-Solid.svg) no-repeat 50% 50%;
}

mask 在 firefox 上不起作用,这就是为什么我添加了 background 属性,它按照我想要的方式工作。但是,颜色无法按预期工作。它不是具有 #fab700 的颜色,而是被解释为背景颜色。

enter image description here

橙色应该是图标的颜色,而不是背景色。

附加信息:

我找不到搜索词来查找此类问题,但我确实找到了与我的问题类似的内容。

链接:http://codepen.io/noahblon/post/coloring-svgs-in-css-background-images

查看第一个示例后,它在 chrome 上正确呈现。但是,如果您在 firefox 上打开链接,它会显示为框(我假设这是元素的背景色)。

最佳答案

您不能更改通过 background-image 引用的 SVG 内容的颜色.所有设置 background-color做的是设置背景的后备颜色。这就是您在这里看到的。

如果要更改图标颜色,则必须更改 SVG 文件。或者你可以在 HTML 中内联 SVG,也可以通过 <object> 来实现。元素。

关于html - SVG 背景颜色不适用于 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837502/

相关文章:

css - 元素的 BEM 方法可能属于,并且根据 block 的不同看起来不同?

php - 如何将 JSON 编码的 CSS 数据传递到 Mustache 模板中?

python - 导入 svg/Dxf 文件到 trimesh

javascript - 在 JQuery 中设置 $(this).text 的样式

html - 如何用CSS分离html标题和内容并使内容可滚动

html - 网页中的页脚显示为内联元素而不是 block 元素

javascript - 用按钮调用内容。 Js问题

javascript - 如何使用普通 JavaScript 更改此 SVG Sprite 的 href?

css - d3 hover css 在图表停止时停止工作 "ticking"

javascript - 使用 javascript 循环输入字段并隐藏