Bu yazımızda CSS ile ‘Fade’ animasyonlu slider yapacağız.
HTML:
İlk olarak slider için bir div oluşturuyoruz. Bu divin içerisine istediğimiz sayıda resim ekliyoruz. Resim etiketlerine class atayarak css te düzenlemelerini yazacağız.
1 2 3 4 5 6 7 |
<div class="slider"> <img src="img/r1.jpg" class="slide1"> <img src="img/r2.jpg" class="slide2"> <img src="img/r3.jpg" class="slide3"> </div> |
CSS:
Oluşturduğumuz slider divinin genişlik ve yükseklik değerlerini ayarlıyoruz. Position değerini relative olarak ayarlıyoruz.
İlk olarak slidera konulacak resimlerin boyutlarını ayarlıyoruz. Daha sonra sliderı ekranın ortasına gelecek şekilde ayarlıyoruz. Resimler şimdilik alt alta gelecekler.
1 2 3 4 5 6 7 8 |
.slider{ max-width: 300px; height: 200px; margin: 50px auto; position: relative; } |
Slidelara geçiş efekti veriyoruz. Bu yazımızda kendi efektimizi @keyframe ile tanımlayacağız. Slideların geçiş süresini ve kaç kez tekrarlanacağını yazıyoruz. İnfinite yaparak sürekli tekrarlanmasını sağladık. Yükseklik ve genişlik değerlerini içinde bulundukları divin genişliğine tam uyacak şekilde ayarlıyoruz. Resimlerin arka arkaya durması için position değerlerini absolute olarak ayarlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
.slide1{ animation:fade 8s infinite; -webkit-animation:fade 10s infinite; } .slide2{ animation:fade2 8s infinite; -webkit-animation:fade2 10s infinite; } .slide3{ animation:fade3 8s infinite; -webkit-animation:fade3 10s infinite; } .slide4{ animation:fade3 8s infinite; -webkit-animation:fade4 10s infinite; } .slide1,.slide2,.slide3,.slide4{ position: absolute; width: 100%; height: 100%; } |
@keyframeler ile efektleri oluştururken resimlerin opacity değerleri ile işlem yapacağız. Örneğimizde 4 resim kullandığımız için dört ayrı fade animasyonu belirledik ve her birinin opacity sırasını ayarlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
@keyframes fade{ 0% {opacity:1} 33% { opacity: 0} 66% { opacity: 0} 100% { opacity: 1} } @keyframes fade2{ 0% {opacity:0} 33% { opacity: 1} 66% { opacity: 0 } 100% { opacity: 0} } @keyframes fade3{ 0% {opacity:0} 33% { opacity: 0} 66% { opacity: 1} 100% { opacity: 0} } |
Ekran çıktısı şu şekilde olacaktır;
[…] CSS Fade Slider […]
[…] […]
Güzel paylaşım teşekkürler.