html - 为什么 SVG 背景颜色没有改变?

标签 html css svg

我在使用 base64 编码的 SVG 时遇到了问题。我使用了以下 SVG:

Menu Icon from iconmonstr

我通过以下方式传递了这个文件: SVG Optimiser & Base64 Encoder

最后我创建了一个有两个类的 a 元素

.ui-icon-btn {
    display: block;
    background-color: red; //just a randomly picked color
}
.ui-icon-menu {
    display: block;
    width: 48px;
    height: 48px;
    background: url('data:image/svg+xml; base64, [...]');

}

当我打开 Chrome 的 DevTools 时,它告诉我颜色已被覆盖。我怎样才能避免这种情况?

Example on JSFiddle

最佳答案

只需将 .ui-icon-btn 放在 CSS 中的 .ui-icon-menu 之后。

当从上到下阅读样式表时,它被覆盖了。

jsFiddle example

.ui-icon-menu {
    display: block;
    width: 48px;
    height: 48px;
    background: url("");
}
.ui-icon-btn {
    display: block;
    background-color: red;
}

或者,您可以使用 background-image 添加图像,而不是仅仅添加 background,这样它就不会被覆盖。 jsFiddle example

关于html - 为什么 SVG 背景颜色没有改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19883993/

相关文章:

javascript - 有人可以帮助修复非滚动滚动条吗?

javascript - jQuery css() 函数更改 'a' 属性而不是 'a:hover' 属性

css - 使用 css 更改颜色 svg 文件

javascript - SVG:获取路径的精确边界框?

objective-c - FSInteractiveMap Objective-C 到 Swfit 的翻译

javascript - 使用 JavaScript 在 Google map 上显示 GPS 坐标

javascript - 提交时将表单数据发送到 Javascript

容器内的 HTML 复选框标签未按预期显示

html - 背景 slider

javascript - 在react app上使用d3js的call函数