Jak stworzyć efekt zanikania za pomocą CSS na tle z obrazem na wierzchu?
Próbuję odtworzyć suwak obrazu na https://www.masterclass.com/
Komentarze
Odpowiedz
Aby utworzyć o takim wyglądzie, możesz ustawić obraz jako tło elementu div, a następnie utworzyć w nim gradient „czarny, aby wyczyścić do czarnego”, aby pojawił się on na górze obrazu.
.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 */ }
Znalazłem ten kod gradientu z jednego z wielu generatorów gradientów: http://www.colorzilla.com/gradient-editor/
Odpowiedź
Tak naprawdę możesz łączyć tła w CSS, oddzielając je przecinkami. Pierwszy jest najniższy, drugi jest na górze, et. Więc wszystko, co musisz zrobić, to najpierw ustawić obraz, a następnie gradient.
Możesz nawet użyć trybów mieszania w nowoczesnych przeglądarkach, aby zapewnić ładny efekt mieszania na obrazie.
I „Pozostawię Tobie wygenerowanie wymaganych prefiksów przeglądarki (generator, do którego link znajduje się w drugiej odpowiedzi, jest do tego bardzo dobry).
.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 dowód: https://jsfiddle.net/synu8xk1/2/
:before
pseudoelemen t zastosować gradient png jako obraz BG na wierzchu rzeczywistego obrazu.