0Pricing
React Academy · Ders

React ile CSS Kare Animasyonları

Bileşen durumuna ve olaylara göre @keyframes animasyonlarını dinamik olarak uygulayın ve kaldırın.

React ile CSS Kare Animasyonları, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

@keyframes Tanımlama

Bir @keyframes kuralı, zaman çizelgesindeki noktalarda özellik değerlerini adlandırarak çok aşamalı bir animasyonu tanımlar; bunun için from/to veya 0%, 50%, 100% gibi yüzdeler kullanılır.

Geçişlerin aksine, anahtar kareler her adımda durum değişikliği gerektirmeden kendi başına çalışan karmaşık, çok aşamalı hareketleri tanımlayabilir.

animation Kısa Yazımı

Bir anahtar kare kümesini animation özelliğiyle uygularsınız: animation: slideIn 400ms ease forwards. Bu bildirim; adı, süreyi, zamanlama işlevini ve dolgu kipini tek yerde birleştirir.

forwards dolgu kipi, animasyon sona erdikten sonra öğenin son anahtar kare değerlerinde kalmasını sağlar ve başlangıca geri sıçramasını önler.

Durumla Animasyon Sınıfı Uygulama

React'te genellikle durum true olduğunda animation bildirimini taşıyan bir sınıf eklersiniz. Örneğin is-entering sınıfını eklemek, öğe bağlandığı veya bir bayrak değiştiği anda anahtar kareleri başlatır.

Bu yaklaşım, animasyon mantığını CSS'te tutarken React'in yalnızca sınıfın ne zaman ekleneceğine karar vermesini sağlar.

animation-fill-mode

animation-fill-mode, animasyon çalışmadan önce ve çalıştıktan sonra hangi stillerin uygulanacağını belirler. forwards son anahtar kareyi korur, backwards herhangi bir gecikme sırasında ilk anahtar kareyi uygular ve both her ikisini de yapar.

forwards olmadan, soluk bir durumdan görünür bir duruma canlandırılan öğe animasyon tamamlandığında yeniden görünmez hâle sıçrar.

animation-direction: alternate

animation-direction: alternate, her yinelemede animasyonu önce ileri, sonra geri oynatır. animation-iteration-count: infinite ile birleştirildiğinde, titreşim veya nefes alma etkisi gibi akıcı bir ileri-geri hareket oluşturur.

Bu özellik, yükleme göstergeleri veya dikkat çeken ancak zarif hareketler için kullanışlıdır.

animation-play-state ile Duraklatma

animation-play-state, running veya paused olabilir. Bu değeri React durumundan yönetebilirsiniz; örneğin bir sınıfı değiştirerek üzerine gelindiğinde kayan yazıyı duraklatabilirsiniz.

Sıfırlanmak yerine duraklatıldığı için animasyon tam olarak durduğu yerden devam eder.

Anahtar Özelliğini Değiştirerek Yeniden Tetikleme

Bir anahtar kare animasyonu, sınıfı ilk kez uygulandığında yalnızca bir kez oynar; aynı sınıfı yeniden eklemek animasyonu yeniden başlatmaz. React'te en temiz çözüm, React'in yeni bir düğümü yeniden oluşturmasını ve animasyonu baştan oynatmasını sağlamak için öğenin key değerini değiştirmektir.

Örneğin, bir bildirime eklenen key={count}, sayı her arttığında bildirimin yeniden oluşturulmasını ve DOM'a eklenmesini sağlar.

Azaltılmış Hareket Tercihine Saygı Gösterme

Bazı kullanıcılar rahatlık veya erişilebilirlik için OS'lerinde hareket azaltma özelliğini etkinleştirir. Gerekli olmayan animasyonları @media (prefers-reduced-motion: reduce) içine alın ve orada devre dışı bırakın veya kısaltın.

Bu tercihe uymak arayüzünüzü daha kapsayıcı hale getirir ve rahatsızlık tetiklemekten kaçınır.

IntersectionObserver ile Kaydırmada Tetikleme

Öğeler görünüm alanına girdikçe onları canlandırmak için bir IntersectionObserver'ı useEffect içinde kullanın. Gözlem girdisi görünür olduğunda durumu ayarlarsınız; bu da animasyon sınıfını ekler.

Bu yöntem, her karede çalışan ağır kaydırma dinleyicileri olmadan kaydırmayla ortaya çıkma efektleri oluşturur.

Animasyon Gecikmesiyle Sıralı Yönetim

animation-delay, her anahtar kare animasyonunun ne zaman başlayacağını kademelendirir. Bir öğe listesine giderek artan gecikmeler vermek, öğelerin sıralı ve koreografisi yapılmış biçimde görünmesini sağlar.

Gecikmeyi React'te her öğe için style={{ animationDelay: i * 80 + 'ms' }} ile hesaplayabilirsiniz.

Anahtar Kareler ve Geçişler Karşılaştırması

Etkileşimle tetiklenen basit iki durumlu değişiklikler için geçişleri; birden çok adımlı hareket, döngü veya durum değişikliğinden bağımsız çalışan animasyon gerektiğinde anahtar kareleri kullanın.

Her ikisi de saf CSS kullanır; bu nedenle React yalnızca sınıfların ne zaman ekleneceğine karar verir, kareleri ise tarayıcı yönetir.

Hızlı Kontrol

Anahtar kare davranışını anlayıp anlamadığınızı sınayın.

Özet

@keyframes tanımlamayı, bunları animation kısaltmasıyla uygulamayı, dolgu modunu ve yönünü denetlemeyi, animasyonları duraklatıp yeniden tetiklemeyi ve IntersectionObserver ile öğeleri kaydırma sırasında görünür kılmayı öğrendiniz.

Ayrıca erişilebilir hareket için prefers-reduced-motion tercihini nasıl dikkate alacağınızı gördünüz.

Sıkça Sorulan Sorular

“React ile CSS Kare Animasyonları” dersi ücretsiz mi?

Evet — “React ile CSS Kare Animasyonları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“React ile CSS Kare Animasyonları” dersinde ne öğreneceğim?

Bileşen durumuna ve olaylara göre @keyframes animasyonlarını dinamik olarak uygulayın ve kaldırın. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“React ile CSS Kare Animasyonları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. React Durum Değişiklikleriyle CSS Geçişleri
  2. React ile CSS Kare Animasyonları
  3. Animasyon Öncesi Ölçümler için useLayoutEffect
  4. Kütüphane Olmadan Giriş ve Çıkış Animasyonları
← React Academy Sayfasına Dön