2011-08-19 14 views
7

Ok, ecco cosa sto cercando di fare. Ho questo codice nel mio file CSSData-URI Sfondo SVG in CSS non funziona in Firefox

.form_row .textfield:hover, .textfield_m:hover 
{ 
    background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCI+DQogIDxkZWZzPg0KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibXlMaW5lYXJHcmFkaWVudDEiDQogICAgICAgICAgICAgICAgICAgIHgxPSIwJSIgeTE9IjAlIg0KICAgICAgICAgICAgICAgICAgICB4Mj0iMCUiIHkyPSIxMDAlIj4NCiAgICAgIDxzdG9wIG9mZnNldD0iMCUiICAgc3RvcC1jb2xvcj0iI2ZlZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+DQogICAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMmY1ZjciIHN0b3Atb3BhY2l0eT0iMSIvPg0KICAgIDwvbGluZWFyR3JhZGllbnQ+DQogIDwvZGVmcz4NCg0KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIg0KICAgICBmaWxsPSJ1cmwoI215TGluZWFyR3JhZGllbnQxKSIgLz4NCjwvc3ZnPg==); 
    background-repeat:repeat; 
    background-color:White ; 
    background-clip: border-box; -moz-background-clip: border; -webkit-background-clip: border-box; 
    background-origin: border-box; -moz-background-origin: border; -webkit-background-origin: border-box; 
    -o-background-size: 100% 100%; -webkit-background-size: 100% 100%; -khtml-background-size: 100% 100%; background-size: 100% 100%; 
    animation: pulse .75s ease-in-out 0s infinite alternate; 
    -moz-animation:pulse .75s ease-in-out 0s infinite alternate; /*Firefox*/ 
    -webkit-animation:pulse .75s ease-in-out 0s infinite alternate; /*Safari and Chrome*/ 
    -o-animation:pulse .75s ease-in-out 0s infinite alternate; /*Safari and Chrome*/ 
} 

E 'in un'immissione di testo.
In ogni browser sembra funzionare bene, ma Firefox 5 non funziona. Tutto quello che ottengo è l'oscurità.
È possibile dare un'occhiata a quello che sto vedendo qui http://www.skylabsonline.com/holy/
Si noti che in tutti gli altri principali browser visualizza bene, ma in Firefox 5 è completamente fallita.
Qualche idea?


Inoltre, ecco il codice SVG per la Base64 sopra, e ho usato questo sito per convertirlo http://webcodertools.com/imagetobase64converter, ma base64 è sempre Base64.

<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none"> 
    <defs> 
    <linearGradient id="myLinearGradient1" 
        x1="0%" y1="0%" 
        x2="0%" y2="100%" 
        gradientUnits="userSpaceOnUse"> 
     <stop offset="0%" stop-color="#feffff" stop-opacity="1"/> 
     <stop offset="100%" stop-color="#d2ebf9" stop-opacity="1"/> 
    </linearGradient> 
    </defs> 

    <rect x="0" y="0" width="1" height="1" 
    fill="url(#myLinearGradient1)" /> 
</svg> 
+0

Perché usate SVG invece di gradiente CSS? – MatTheCat

+0

Portabilità/retrocompatibilità –

+0

FWIW, sembra corretto in Firefox 6.0 – Phrogz

risposta

17

Firefox ha avuto un bug che è stato fissato in FF6. A hash(#) in the Data URI source interromperà l'immagine.

A # nel contenuto deve essere salvato come %23.

Riferimenti

+1

Questo ha fatto il trucco per me funziona anche per svg non codificato semplicemente usando il sorgente svg come '' 'url ('data: image/svg + xml; utf8, svassr

+1

questo bug è ancora presente in FF41 – albanx

1

ho appena finito per dover buttare il gradiente manualmente utilizzando i CSS utilizzando qualcosa di simile -moz-gradiente lineare()