Hvordan lage en fade-effekt med CSS på bakgrunn med et bilde på toppen av den?
Jeg prøver å replikere bildeglidebryter på https://www.masterclass.com/
Kommentarer
Svar
For å opprette det utseendet kan du angi bildet som bakgrunn for en div og deretter lage en «svart til klar til svart» gradient i div slik at den vises på toppen av bildet.
.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 */ }
Jeg fant denne graderingskoden fra en av de mange gradientgeneratorene: http://www.colorzilla.com/gradient-editor/
Svar
Du kan faktisk kjede bakgrunner i CSS, atskilt med komma. Den første er den laveste, den andre er på toppen av det, et. Så alt du trenger å gjøre er å stille inn bildet først og deretter gradienten.
Du kan til og med bruke blandemodus i moderne nettlesere for å sikre en fin blandingseffekt på bildet.
I «La det være opp til deg å generere de nødvendige nettleserprefikset (generatoren som er koblet i det andre svaret er veldig bra for det).
.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 bevis: https://jsfiddle.net/synu8xk1/2/
:before
pseudo elemen t å bruke png-gradienten som et BG-bilde på toppen av det faktiske bildet.