我有以下SVG圖形:SVG「填充:網址(#....)」在Firefox
<svg width='36' height='30'>
<defs>
<linearGradient id="normal-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(81,82,84); stop-opacity:.4"/>
<stop offset="100%" style="stop-color:rgb(81,82,84); stop-opacity:1"/>
</linearGradient>
<linearGradient id="rollover-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(0,105,23); stop-opacity:.5"/>
<stop offset="100%" style="stop-color:rgb(0,105,23); stop-opacity:1"/>
</linearGradient>
<linearGradient id="active-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:rgb(0,0,0); stop-opacity:.4"/>
<stop offset="100%" style="stop-color:rgb(0,0,0); stop-opacity:1"/>
</linearGradient>
</defs>
<text x="8" y="25" style="font-size: 29px;" font-family="Arial">hello world</text>
</svg>'
我通過各個之間的CSS和開關設定的text
元件的fill
屬性梯度取決於懸停狀態。這在Chrome & Safari中效果很好,但在Firefox中,文本不顯示。檢查元素後,我發現Firefox在我的fill: url(#...)
CSS屬性的末尾附加了none
。我嘗試使用Firebug刪除none
關鍵字,但Firebug只是刪除了整個屬性。這是爲什麼發生?
編輯: 我要指出的是,如果我刪除設置fill
屬性CSS和硬編碼fill
屬性爲text
元件(未通過在線style
屬性),文本正確顯示在所有瀏覽器。
你的真實CSS是什麼樣的,去那個SVG?至於「沒有」的事情,「fill:url(whatever)none」與「fill:url(whatever)」是一樣的;都說,如果網址上的東西不可用,那就沒有後備,也不應該畫任何東西。 – 2013-02-28 06:35:40
@BorisZbarsky謝謝,我沒有意識到'沒有'指定沒有找到第一個資源時會發生什麼。 – 2013-02-28 14:45:21