Ich habe folgendes SVG-Grafik:SVG "füllen: url (# ....)" seltsam verhalten in 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>'
Ich habe das fill
Attribut des text
Element durch CSS und wechseln Sie zwischen den verschiedenen Gradienten abhängig vom Hover-Status. Dies funktioniert hervorragend in Chrome & Safari, aber in Firefox wird der Text nicht angezeigt. Bei der Überprüfung des Elements entdeckte ich, dass Firefox none
an das Ende meines CSS-Attributs fill: url(#...)
anfügt. Ich habe versucht, das none
Schlüsselwort mit Firebug zu löschen, aber Firebug löscht nur das gesamte Attribut. Warum passiert dies?
EDIT: Ich sollte anmerken, dass, wenn ich entfernen Sie die CSS, die die fill
Eigenschaft legt und codieren die fill
Attribut in das text
Element (nicht durch ein Inline-style
Attribut), wird der Text richtig angezeigt wird in allen Browsern.
Wie sieht Ihr tatsächliches CSS aus, um mit diesem SVG zu gehen? Was die "keine" Sache angeht, ist "fill: url (was auch immer) keine" dasselbe wie "fill: url (was auch immer)"; beide sagen, wenn das Ding an der URL nicht verfügbar ist, gibt es kein Fallback und nichts sollte gemalt werden. –
@BorisZbarsky Danke, ich habe nicht erkannt, dass die "keine" angegeben, was passiert, wenn die erste Ressource nicht gefunden wird. –