SVG “fill: url(#...)” se comporte bizarrement dans Firefox

J'ai le texte suivant SVG graphique:

<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>'

J'ai mis le fill attribut de la text élément en CSS et de basculer entre les différents gradients en fonction de l'état de pointage. Cela fonctionne très bien dans Chrome & Safari, mais dans Firefox, le texte n'apparaît pas. Lors de l'inspection de l'élément, j'ai découvert que Firefox est en ajoutant none à la fin de mon fill: url(#...) attribut CSS. J'ai essayé de supprimer le none mot-clé avec Firebug, mais Firebug supprime tout l'ensemble de l'attribut. Pourquoi est-ce arrivé?

EDIT:
Je note que si j'ai enlever le CSS qui définit la fill de la propriété, et de coder en dur le fill attribut dans le text élément (et non pas par une ligne style attribut), le texte s'affiche correctement dans tous les navigateurs.

  • Quel est votre CSS ressembler, pour aller avec SVG? Comme pour le "non" chose "remplissage: url(quoi que) none" est la même chose que "remplir: url(quoi que)"; autant dire que si la chose à l'url n'est pas disponible il n'existe pas de solution de secours et rien ne doit être peint.
  • Merci, je ne savais pas que la 'none' spécifié ce qui se passe lors de la première ressource n'est pas trouvée.