42. Ders sonrası notlar
CSS transition özelliği ile geçiş efektleri sağlayabiliriz.Elementlerimizi belirli bir süre boyunca istediğimiz animasyonları ekleyebiliriz.
Bu bölümde aşağıdaki CSS transition özelliklerini öğreneceğiz :
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
CSS Transition Kullanımı
CSS'de geçiş efekti oluşturmak için iki değer tanımlamalıyız,
- Eklemek istediğimizin efektin CSS özelliğini
- Süre
Eğer bir süre belirtilmesse, varsayılan değer 0 olacaktır ve geçiş efekti oluşmayacaktır.
Aşağıdaki örnekte 100px genişlik ve 100px yükseklik değeri olan arkaplanı kırmızı bir div etiketini görmektesiniz. Transition özelliği ile div etiketinin, width özelliği için 2 saniyelik bir geçiş efekti tanımlanmıştır. Bu duruma göre, eğer ilgili div etiketinin genişliğinde bir değişiklik olur ise, bu genişlik değişimi 2 saniyelik bir efekt ile gerçekleşecektir.
Transition (Geçiş efekti), belirtilen CSS özelliği (genişlik) değeri değiştiği sırada başlayacaktır. İlgili div etiketinin hover özelliğine yeni bir genişlik (width) değeri tanımlayalım.
Div etiketinin fare imleci ile üzerine geldiğimiz sırada, etiketin yeni genişliği 300px olacaktır. Transition ile bu yeni durumu algılayıp , genişleme durumunu animasyona çeviriyoruz.
Fare etiketin dışına çıktığında, yavaş yavaş orijinal stiline geri döneceğine de dikkat edin.
Birden fazla transition kullanımı
CSS'de birden fazla geçiş efekti uygulamak mümkündür. Aşağıdaki örnekte, genişlik için 2 saniye ve yükseklik için 4 saniye süre ile hem genişlik hem de yükseklik özelliği için bir geçiş efekti oluşturulur:
Hazır geçiş efektleri kullanmak
CSS'de tanımlı olan geçiş özellikleri ile daha estetiksel geçişler uygulayabilirsiniz. Bunun için CSS'de transition-timing-function özelliğini kullanabilirsiniz.
- ease - önce yavaş, sonra hızlı, sonra yavaş sonlanan bir geçiş efekti belirtir (bu varsayılandır)
- linear - baştan sona aynı hızda bir geçiş efekti belirtir
- ease-in - yavaş başlangıçlı bir geçiş efekti belirtir
- ease-out - yavaş sonlu bir geçiş efekti belirtir
- ease-in-out - yavaş bir başlangıç ve bitiş ile bir geçiş efekti belirtir
- cubic-bezier(n,n,n,n) - cubic-bezier metodunda kendi değerlerinizi tanımlamanıza izin verir
Geçiş Efektlerini Zamanlamak : transition-delay kullanımı
CSS'de transition özelliği için bir geçikme sağlamak için trasition-delay özelliği kullanılır.
Aşağıdaki örnek, geçiş efekti başlamadan önce 1 saniyelik bir gecikme sağlar :
Geçiş Efektlerinde 2B veya 3B Dönüşüm Kullanmak
CSS'de transition ile transform özelliği beraber kullanılabilir. 2B veya 3B dönüşümlerde geçiş efekti uygulayabliiriz.
CSS Transition Uygulanması
CSS'de transition özellikleri tek tek tanımlanacağı gibi, toplu şekilde de tanımlanabilir.