Sto sviluppando un'applicazione utilizzando D3.js. Sono stato sviato per un po 'e di recente ci sono tornato. Oggi ho scoperto che, sebbene funzionasse bene in passato, la mappa SVG nell'app non viene più visualizzata su Safari mobile (iOS 9.3.1) o desktop Safari (v9.1 (11601.5.17.1)).Perché il filtro (drop-shadow) causa la scomparsa del mio SVG in Safari?
Ho estratto SVG e una singola regola di stile e li ho inseriti su CodePen per illustrare cosa succede. In Chrome, questa penna apparirà bene. In Safari, sarà completamente vuoto.
https://codepen.io/Kirkman/pen/pyKzeX
Se ispezionare il DOM in Safari, si scopre che i percorsi ci sono, e sono le forme giuste. Sembrano semplicemente invisibili. Deselezionando le regole di stile nella finestra di ispezione provoca l'intera mappa di apparire magicamente (senza l'ombra, ovviamente)
La regola di stile è molto semplice:
svg {
-webkit-filter: drop-shadow(2px 2px 4px rgba(0,0,0,.4));
filter: drop-shadow(2px 2px 4px rgba(0,0,0,.4));
}
Qualcuno può suggerire il motivo per cui questo non sta funzionando? Ho fatto qualcosa di sbagliato o qualcosa è cambiato in Safari?
Questa sembra la soluzione perfetta.Farò un tentativo e probabilmente selezionerò questa come risposta. – Kirkman14
questo ha funzionato bene per me. Dovrebbe essere la risposta accettata –
Grazie mille per questa soluzione, super facile e super pulita. Dovrebbe essere la risposta accettata. – Thasmo