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 - 下拉列表不会与下拉按钮垂直对齐

html - 是什么原因导致这种奇怪的显示?我怀疑这可能是 CSS 或 Chrome OS X 中的错误?

javascript - 如何分层 2 svg 图像

javascript - 如何使用 d3.js 根据特定条件制作散点图

php - CSS 样式表不工作

javascript - 如何使用基于时间的javascript显示jsp页面的弹出窗口?

css - 每个 div 的底部添加 5px 额外边距

html - 子项仅在 Firefox 中脱离内联网格父项

javascript - 如何使 body 的最小高度等于 screen.height

html - 在隐藏的 div 中绘制的 JointJS 图比例错误