CSS Animasyonlar

CSS Animasyonlar
CSS Animasyonlar
0

CSS’deki animasyon özelliği; renk, arka plan rengi, yükseklik veya genişlik gibi birçok CSS özelliğini canlandırmak, hareketlendirmek ve efekt vermek için kullanılabilir. Animasyonlar, bir öğenin kademeli biçimde, bir stilden diğer stile geçmesine olanak tanır. CSS animasyonunu kullanmak için önce animasyon için bazı ana kurallar çerçevesinde kurallar ve parametreler belirtmelisiniz. Anahtarlar ve parametreler, öğenin belirli zamanlarda hangi stillere sahip olacağını belirtmektedir.

CSS Animasyonlarını kullanabilmek için @keyframes kuralını kullanmamız gerekmektedir.
@keyframes kuralı, animasyonun ana yapısı oluşturulur. Animasyonun belirli zamanlarda hangi türden stile dönüşeceğini belirten bir kuraldır.
 

İçindekiler

CSS Animasyonlar ile renklendirme ve renk geçişleri

keyframes çalışma mantığını daha iyi anlamak için renk geçişi örneği yapalım.
Style etiketleri arasında bir keyframes uygulayalım ve ismi renk animasyonu olsun.
Renk geçişi uygulayacağımız renk hangi renkten başlayacaksafrom” kısmında,
hangi renge doğru geçiş olacağını belirtmek için ise “to” biçiminde belirtmemiz gerekiyor.

 
Animasyonumuzu, class ismi .kutu1 olan bir div bloğu üzerinde çalıştıralım. Style etiketleri arasında div bloğumuzu özelleştirmeye başlayabiliriz. Burada animasyonumuzun ismini ve animasyon süresini tanımlamamız gerekiyor. Aynı zamanda bir div bloğu üzerinde çalıştığımız için yükseklik ve genişlik belirtmemiz gerekiyor.
 
animation-name: keyframes ile belirtilen animasyonun ismi yazılmalıdır. Birden fazla animasyonda, keyframesin hangi animasyonu etkileyeceğini belirtmek için kullanılır. Türkçe karakter kullanmadan ve boşluk bırakmadan yazılmalıdır. Tire , altçizgi ve sayılar kullanılabilir. (Örn: renkanimasyonu, renk-animasyonu, renkanimasyonu1)
animation-duration: Animasyonun kaç saniye süreceğini yani uzunluğunu belirten parametredir. 0 saniye girildiği zaman hiçbir tepkime vermez ve animasyon gerçekleşmez.

 
Aşağıda renk geçiş animasyonunu görebilirsiniz. Sarı renkten mor renge bir geçiş animasyonu tanımladık ve süresini 30sn yaptık.

 


 
Keyframes animasyon değerini aynı zamanda yüzde cinsinden belirterek de renk değişikliği yaptırabiliriz.
Örneğin animasyon renklerini 4 ayrı bölüme ayıralım. Animasyon sürecinde;
%10 tamamlandığı zaman kırmızı renk, %40 tamamlandığı zaman yeşil renk,
%60 tamamlandığı zaman mavi renk, %100 tamamlandığı zaman ise sarı renkte animasyon bitecek.

 
Bu animasyonu çalıştıracağımız div bloğunu da tanımlayalım. Animasonumuzun ismi ” renkanimasonu2 ” , süresini de hızlı olması açısından “1s” olarak tanımladık.

Yüzdeli olarak renk geçişi nasıl oluyor ona bakalım:

 


 

CSS Animasyonlar ile hareketlendirme

keyframes ile sadece renklendirme değil aynı zamanda objelerin yerlerini de değiştirerek hareket efekti verebiliriz ve hareket animasyonu yapabiliriz.
Örneğin kutucuğumuzu aşağı doğru hareketlendirmek istersek konumlandırma etiketlerini kullanmamız gerekmekte. Eğer ki konumlandırma konusu hakkında eksiğiniz varsa CSS Konumlandırma adlı konumuzu okuyabilirsiniz.
Örnek konumlandırma: 100% {background-color: red; right:100px;}
Keyframes anahtarımızı belirtelim ve içerisine kodlarımızı yazalım. Aşamalı olarak 10’ar px aşağı doğru gidecek şekilde belirtiyoruz.

 
Div bloğumuzun kodlarını belirtelim. Aynı zamanda position relative olarak ayarladık. Relative olarak ayarlamamızın sebebi ise: Relative; div bölümlerinin birbirleriyle olan konumlandırması için kullanılır. Div bölümlerinin arasındaki uzaklık, konumu, durumu gibi ayarlamalar yapmak için kullanılır.

 
Kodun çıktısı ise:

 


 
Çeşitli örnekler ile hareket animasyonunu aşağıda inceleyebilirsiniz.
 

 
 


 

 
 


 

Animasyonların tekrarını belirleme

Yaptığımız animasyonların kaç defa tekrarlayacağını animation-iteration-count: etiketi ile belirlemekteyiz. Bunu sayısal olarak (1 defa tekrarla, 6 defa tekrarla gibi) veya sonsuz döngü içerisinde yapabiliriz. Örneğin animasyonun 10 defa tekrarlamasını istersek aşağıdaki örneği inceleyebiliriz:

 
 


 

Animasyonun geçişini biçimlendirme

Animasyonun üzerinde uygulanan efektlerde geçiş efektinin türlerini değiştirebilmek mümkün.
Geçiş efektlerinin türünü animation-timing-function: etiketi ile yapmaktayız.

animation-timing-function: linear; => Duraksamadan doğrusal bir şekilde geçiş sağlar.
animation-timing-function: ease; => Geçişleri adım adım duraksayarak yapar.
animation-timing-function: ease-in-out; => Yavaştan hızlıya ağır bir şekilde geçer.
animation-timing-function: ease-out; => Yavaş başlar, hızlıca biter.
animation-timing-function: ease-in; => Hızlı başlar, yavaşça biter.

 
Örneklerini aşağıda inceleyelim.

 


 

Çeşitli animasyon örnekleri

Keyframes kodlarımız bütün örneklerde aynı olacaktır. Sadece animasyon ismi değişik olacak.
Yalnızca div kodlarında değişiklik olduğu için div css kodlarını incelemeniz daha iyi olacaktır.

Animasyon 1

Fareyle div kutucuğunun üzerine geldiğimiz zaman 5000derece dönen bir animasyon yapalım.

 
 

Animasyon 2

Fareyle div kutucuğunun üzerine geldiğimiz zaman küçülen bir animasyon yapalım.

İlginizi Çekebilir
CSS Resim Opaklığı

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir