Quindi, sto cercando di fare qualcosa di simile:CSS: Utilizzo svg grezzo nel parametro URL di un'immagine di sfondo in IE
div {
width: 100px;
height: 100px;
background-position: center center;
background-repeat: no-repeat;
background-size: 100px 100px;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' style='fill:red; stroke:none'><rect x='0' y='40' width='100' height='20' /><rect x='40' y='0' width='20' height='100' /></svg>");
}
Vedi qui: http://jsfiddle.net/trxkcx41/4/
Questo funziona magnificamente in versioni correnti Chrome, Safari (OS X e iOS) e Firefox. Tuttavia, l'SVG non appare affatto in IE 9, 10 o 11.
È perché questo non è supportato in IE, o perché sto facendo qualcosa di sbagliato?
[AGGIORNAMENTO CON SOLUZIONE]
Grazie a hungerstar, ho questo lavoro. Per riassumere la sua raccomandazione, avevo bisogno di apportare le seguenti modifiche:
Modificare il tipo di dati
data:image/svg+xml;utf8
-data:image/svg+xml;charset=utf8
(vale a dire,charset=
è richiesto)URL codificare la svg. Per ridurre al minimo la codifica dell'URL, utilizzare
'
anziché"
per racchiudere gli attributi. Quindi, nel mio caso, solo il<
e>
dovevano essere codificati.
A, in ultima analisi, il mio CSS si presentava così:
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' style='fill:red; stroke:none' %3E%3Crect x='0' y='40' width='100' height='20' /%3E%3Crect x='40' y='0' width='20' height='100' /%3E%3C/svg%3E");
Prova [svg4everbody] (https://github.com/jonathantneal/svg4everybody). – hungerstar
@hungerstar - grazie per il link; questo è uno strumento interessante! Tuttavia, sto solo cercando di capire se IE supporta questo utilizzo di SVG e, in tal caso, cosa sto facendo male nel mio esempio. – mattstuehler
Ho usato con successo base-64 in un data uri, [jsfiddle demo] (http://jsfiddle.net/pf4yw07v/). – hungerstar