css - 如果 SVG 使用 base64 编码作为背景,如何影响 SVG 的填充颜色?

标签 css svg base64

我已选择将我的 SVG 进行 base64 编码作为 CSS 背景以加快加载时间,但我无法使用 CSS 更改填充颜色。在下面的示例中,我尝试添加背景颜色,但这只会改变 div 的颜色。如果我在 background: 下面添加 fill: #06f; 它什么都不做。

.icon {
    background: url(data:image/svg+xml;base64,PHN2Z...3N2Zz4K) no-repeat center center; 
}

如何单独使用 CSS 来影响填充颜色?

最佳答案

无法使用 CSS 更改 SVG 背景的填充(或任何其他属性)。 https://stackoverflow.com/a/13367916/1620112建议使用服务器端生成的 SVG。

您也可以使用客户端解决方案(正如 Robert 在上面所建议的那样)。可以在此处找到一个非常简单的示例 https://stackoverflow.com/a/25305148/1620112或这里 https://stackoverflow.com/a/25357798/1620112

关于css - 如果 SVG 使用 base64 编码作为背景,如何影响 SVG 的填充颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27743539/

相关文章:

css - Bootstrap 面板标题中的垂直居中带有超赞字体 5 SVG 图标的跨度

javascript - 在不缩放整个 Canvas 的情况下缩放 Canvas Path2d(带有 svg 路径数据)?

javascript - 如何从嵌入式 D3 脚本中访问 Angular Controller 范围

linux - 我如何在 linux 上对字符串进行 base64 编码,使其与 windows "Unicode.GetBytes.ToBase64String"匹配?

javascript - 使用 Phantom.js 将文件加载到图像对象中

java - 字符串(文件的 base64)中存储的最大大小 - Java

CSS 幻灯片开始时间太长

html - 放大缩小时 Div 会移动

javascript - 滚动时 float 导航栏宽度

css - float 元素也将背景应用到其他 div