css - CSS 中的 SVG 内联在 FireFox 中不起作用

标签 css svg

我正在尝试在我的 CSS 中内联一个 svg

background-image: url('data:image/svg+xml;utf8,<?xml ......');

这是我的原始 SVG 示例,它在 Chrome 中有效但在 FireFox 中无效:jsfiddle

为了理解这个问题,我创建了这个 DEMO .我使用了不同的 SVG,它们都有效,除了附加到 #a0 元素的那个(这个在 Chrome 中也不起作用)

有人知道为什么 FF 不渲染 SVG 吗?

最佳答案

您的数据 URI 无效,因为它包含 # 个保留的字符以指示 a fragment identifier 的开始

您需要URL encode数据以使其有效并让 Firefox 显示它。 URL 编码会将 # 字符替换为 %23,它可能会替换其他保留字符,具体取决于您是否使用过。

关于css - CSS 中的 SVG 内联在 FireFox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28834189/

相关文章:

javascript - 使用 Hammerjs、CSS-Transform 和 Transform origin 进行手势移动

javascript - 如何定义 'overflow' 属性

javascript - D3 中的嵌套 SVG 选择

css - 在 float 的右父元素中向左浮动所有元素

HTML/CSS : Section + Aside Issue

javascript - 创建条形图后如何更改其背景颜色?

html - SVG 堆栈在 Chrome 中不起作用(webkit)

c++ - cocos2dx 中的重写函数

HTML/CSS Firefox 问题

html - ul 作为具有单个可变长度 li 的制表符