css - 如果嵌入的背景 svg 具有 "fill"属性,则它不会在 Firefox 上显示

标签 css svg background

我正在尝试使用嵌入 .css 中的 .svg 作为链接的背景。这是 CSS 规则:

background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10px" height="7px"><g><g><polygon points="8.433,-0.06 4.985,3.325 1.539,-0.06 -0.066,1.546 4.985,6.566 10.037,1.546" fill="#61B23B"/></g></g></svg>');

它在 Chrome/Safari/Opera 上运行良好,但在带有“fill”属性的 Firefox 上无法显示。

您还可以查看http://jsfiddle.net/wenjiehu/rey46ydz/1/作为这个问题的现场演示。尝试将鼠标悬停在 Firefox 上的链接上。

谁能告诉我这个问题的解决办法是什么?

最佳答案

您应该将“#”字符转义为“%23”,因为“#”是 URL 字符串中的哈希字符。

http://jsfiddle.net/dmen16me/

url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10px" height="7px"><g><g><polygon points="8.433,-0.06 4.985,3.325 1.539,-0.06 -0.066,1.546 4.985,6.566 10.037,1.546" fill="%2361B23B"/></g></g></svg>');

但我认为使用 base64 也更好。

关于css - 如果嵌入的背景 svg 具有 "fill"属性,则它不会在 Firefox 上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467468/

相关文章:

text - 旋转 d3 中的 x 轴文本

javascript - d3.js:折线图的 xaxis 标签显示为粗体

css - Svg 1px 宽度的背景线

ios - 蓝牙低功耗: Advertising local name and service UUID from background iOS

javascript - Jquery 复选框选中和未选中事件

javascript - 谷歌图表栏阴影

javascript - 在 Internet Explorer 中获取 SVG 子元素属性

iOS 应用程序在后台运行 2 分钟后被杀死,代码为 "Message from debugger: Terminated due to signal 9"

html - 如何拥有根深蒂固的导航栏外观?

html - 如何将文本放入文本输入的背景中?