2017-01-10 94 views
1

我想要包含在我的网站中的代码不适用于Chrome,但它在Firefox中工作。SVG图片url无法在Chrome浏览器中运行,但在Firefox中运行?

下面是代码:

background-image: data:image/svg+xml,<svg%20xmlns%3D"http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg"%20viewBox%3D"0%200%2020%2020"%20style%3D"fill%3A%23000%3B"%20height%3D""%20width%3D"">%20<path%20d%3D"M8.617%2013.227C8.09%2015.98%207.45%2018.62%205.55%2020c-.587-4.162.86-7.287%201.533-10.605-1.147-1.93.138-5.812%202.555-4.855%202.975%201.176-2.576%207.172%201.15%207.922%203.89.78%205.48-6.75%203.066-9.2C10.37-.274%203.708%203.18%204.528%208.246c.2%201.238%201.478%201.613.51%203.322-2.23-.494-2.896-2.254-2.81-4.6.138-3.84%203.45-6.527%206.77-6.9%204.202-.47%208.145%201.543%208.69%205.494.613%204.462-1.896%209.294-6.39%208.946-1.217-.095-1.727-.7-2.68-1.28z"%2F><%2Fsvg>; 

如果您复制并粘贴到Firefox,它的工作原理,但它不能在铬工作。

我该如何解决这个问题?

回答

2

它看起来像你的CSS与哈希字符浏览器不兼容相结合的语法错误,请尝试

background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" style="fill:%23000;" > <path d="M8.617 13.227C8.09 15.98 7.45 18.62 5.55 20c-.587-4.162.86-7.287 1.533-10.605-1.147-1.93.138-5.812 2.555-4.855 2.975 1.176-2.576 7.172 1.15 7.922 3.89.78 5.48-6.75 3.066-9.2C10.37-.274 3.708 3.18 4.528 8.246c.2 1.238 1.478 1.613.51 3.322-2.23-.494-2.896-2.254-2.81-4.6.138-3.84 3.45-6.527 6.77-6.9 4.202-.47 8.145 1.543 8.69 5.494.613 4.462-1.896 9.294-6.39 8.946-1.217-.095-1.727-.7-2.68-1.28z"/></svg>'); 

的主要区别在于传输数据的URL现在包裹在CSS的url函数符号和唯一的转义字符是用于声明颜色的散列(#),因为它在url中具有保留的用途,并且会导致浏览器认为此时路径已完成。

+1

我打算升级,但实际上最好对其他特殊字符进行编码。特别是某些版本的IE在非编码字符方面存在一些问题。 **但是**无论如何,OP的编码似乎是错误的。另外,你确实应用了最后的修正,但你没有提到的是你从标记中删除了'width =“”height =“”'。 https://jsfiddle.net/8s8mnu8t/ – Kaiido

相关问题