Come creare un effetto di dissolvenza con CSS sullo sfondo con unimmagine sopra?
Sto cercando di replicare il cursore immagine su https://www.masterclass.com/
Commenti
Risposta
Per creare in questo modo puoi impostare limmagine come sfondo di un div e quindi creare un gradiente da “nero a chiaro a nero” nel div in modo che appaia sopra limmagine.
.slideBanner{ background-image: url("../images/Ramsey.jpg"); } .slideBanner{ background: -moz-linear-gradient(left, rgba(0,0,0,0.65) 0%, rgba(255,255,255,0) 48%, rgba(2,2,2,1) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(left, rgba(0,0,0,0.65) 0%,rgba(255,255,255,0) 48%,rgba(2,2,2,1) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to right, rgba(0,0,0,0.65) 0%,rgba(255,255,255,0) 48%,rgba(2,2,2,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#a6000000", endColorstr="#020202",GradientType=1 ); /* IE6-9 */ }
Ho trovato questo codice gradiente da uno dei tanti generatori di gradiente: http://www.colorzilla.com/gradient-editor/
Risposta
Puoi concatenare sfondi in CSS, separati da una virgola. Il primo è il più basso, il secondo è in cima a quello, et. Quindi tutto ciò che devi fare è impostare prima limmagine e poi il gradiente.
Puoi anche utilizzare i metodi di fusione nei browser moderni per garantire un piacevole effetto di fusione sullimmagine.
I “Lascerò a te la creazione dei prefissi del browser richiesti (il generatore collegato nellaltra risposta è molto buono per questo).
.slideBanner{ background: url("https://placeimg.com/500/500/nature") 0 0 no-repeat, radial-gradient(ellipse at center, rgba(0,0,0,0) 20%,rgba(0,0,0,1) 100%); background-blend-mode: multiply; }
JSfiddle prova: https://jsfiddle.net/synu8xk1/2/
:before
pseudo elemen t per applicare il gradiente png come immagine BG sopra limmagine reale.