2017-01-10 100 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

相關問題