Menu

cubic-bezier Easing Üretici

Canlı animasyon önizlemesi ile özel CSS easing eğrileri çiz.

Son güncelleme

Hazır ayarlar
Eğriİki tutamağı sürükle
Animasyon
CSS
.element {
  transition: transform 1.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}

cubic-bezier easing üreticisi nedir?

CSS'te *easing fonksiyonu*, bir animasyonun süresi boyunca nasıl hızlandığını ve yavaşladığını belirler. ease, ease-in, ease-out ve ease-in-out anahtar kelimeleri dört belirli eğrinin kısayoludur. Bu dördünün ötesinde ne istersen cubic-bezier() ile yaparsın - dört sayıyla özgün eğri çizen fonksiyon.

Bu dört sayı, iki kontrol noktasının (x1, y1, x2, y2) koordinatlarıdır. Elle yazmak zor; küçük değişiklikler büyük görsel farklara yol açar ve küçük taşmalar *zıplayan* bir hareket üretir - bunu sadece sayılara bakarak hissedemezsin. Görsel editör, tutamağı çekip eğrinin tepkisini anında görmeni sağlar; ondalıkları kurcalamaktan çok daha hızlıdır.

Coddy editörü eğriyi canlı çizer, önizleme topunu seçtiğin easing ile hareket ettirir ve sık karşılaşılan kalıplar için hazır şablonlar sunar: CSS anahtar kelimeleri, Material Design *standard*, bouncy out ve anticipate–overshoot. Üretilen cubic-bezier() dizesini kopyala ve CSS'ine yapıştır - her şey tarayıcıda çalışır.

cubic-bezier easing hakkında bilmen gerekenler

  • Eğri *zamana* karşı *ilerlemeyi* çizer. Zaman soldan sağa (0 → 1), ilerleme aşağıdan yukarı (0 → 1) ilerler. Düz köşegen linear'dır - birim zamanda eşit ilerleme.
  • İki kontrol noktasının X koordinatları 0..1 ile sınırlıdır. Y koordinatları 0'ın altına ya da 1'in üstüne çıkabilir - bu sayede bouncy, anticipate ve overshoot eğrileri elde edilir (animasyon hedefi geçer ya da yanlış yöne başlar).
  • *Ease-out* eğrileri (ilerlemenin büyük kısmı erken olur) çevik ve duyarlı hissettirir - girişler ve buton tepkileri için iyi. *Ease-in* (ilerleme geç olur) gevşek görünür - UI'de genelde yanlış, çıkışlar için faydalıdır.

cubic-bezier easing nasıl tasarlanır

  1. Bir hazır ayardan başla

    Hedeflediğin hisse yakın bir hazır ayar seç. *Material standard* ve *Bouncy out* UI için iyi başlangıçlardır; *ease-out* giriş animasyonları için güvenli varsayılandır.

  2. İki tutamağı sürükle

    Renkli noktalar iki kontrol noktasıdır. Birincisini animasyonun *başlangıcını*, ikincisini *bitişini* ayarlamak için sürükle. Tutamağı tuvalin üst sınırı üzerine çekersen overshoot oluşur.

  3. Süre seç ve tekrar oynat

    Gerçek senaryona uyan bir süre yaz. UI geçişleri 150–300ms, vurgu hareketleri 400–600ms civarıdır. *Replay* önizlemeyi yeni süreyle tekrar oynatır.

  4. Sayısal alanlarla ince ayar

    Daha kesin değerler için X1/Y1/X2/Y2 alanlarına yaz. Y, 0..1'in dışına çıkabilir; X her zaman 0..1 içinde kalır.

  5. CSS'i kopyala

    *Kopyala* ile tam transition kuralını al. Stil dosyana yapıştır ve transform yerine animasyonladığın özelliği yaz.

cubic-bezier hızlı başvuru

Sık kullanılan easing'ler ve arkasındaki cubic-bezier değerleri. Dört anahtar kelime de belirli eğrilerin takma adıdır.

Easingcubic-bezier değerleriNe zaman kullanılır
ease(0.25, 0.1, 0.25, 1)transition varsayılanı - yumuşak ama jenerik
linear(0, 0, 1, 1)Sabit hız - UI için genelde yanlış, spinner için doğru
ease-in(0.42, 0, 1, 1)Yavaş başla, hızlı bitir - çıkışlar için en uygun
ease-out(0, 0, 0.58, 1)Hızlı başla, yavaş bitir - girişler ve tepkiler için en uygun
ease-in-out(0.42, 0, 0.58, 1)Simetrik - gidip gelen geçişler için iyi
Material standard(0.4, 0, 0.2, 1)Çevik modern UI hareketi
Bouncy out(0.18, 0.89, 0.32, 1.28)Aşıp yerine oturur - eğlenceli girişler

Denemelik cubic-bezier örnekleri

Çevik buton tepkisi

Hover'da standard easing
.btn {    transition: transform 180ms cubic-bezier(0.4, 0, 0.2, 1);}.btn:hover {    transform: translateY(-2px);}

Yükselme erken ve hızlı olur, sonra yumuşakça yerine oturur - sürtünmesiz, imleç hareketine yanıt veriyor gibi hissettirir.

Zıplayan giriş

Overshoot ve yerleşme
.card {    transition: transform 350ms cubic-bezier(0.18, 0.89, 0.32, 1.28);}

Y2 değeri 1.28 olduğundan eğri hedefi geçer ve geri döner. Az kullan - her yerde zıplamak hızlı yorar.

Hareket öncesi anticipate

Önce geri sonra ileri
.hero {    transition: transform 500ms cubic-bezier(0.68, -0.55, 0.27, 1.55);}

Negatif Y1, animasyonun kısa bir an *ters* yöne gitmesini sağlar. Klasik animasyondan ödünç alınmış bir teknik - küçük anticipate ana hareketi bilinçli gösterir.

Easing'de sık yapılan hatalar

  • Girişler için ease-in kullanmak. Yavaş başlar, hızlı biter - duyarlı hissettiren her şeyin tersi. Bunun yerine ease-out kullan.
  • Nötr göründüğü için UI hareketinde linear seçmek. Sabit hız mekanik görünür; progress bar ve spinner için doğru, başka pek bir yerde değil.
  • Her geçişte overshoot kullanmak. Bouncy easing'ler aksandır, varsayılan değil - her yerde uygulanırsa kaos olur.

cubic-bezier SSS

cubic-bezier() içindeki dört sayı ne anlama gelir?
İki kontrol noktasının x ve y koordinatlarıdır: cubic-bezier(x1, y1, x2, y2). İlk nokta animasyonun *başlangıcını*, ikinci nokta *bitişini* şekillendirir. X her zaman 0..1 (zaman); Y, overshoot/anticipate efektleri için 0..1 dışına çıkabilir (ilerleme).
UI animasyonlarında hangi easing'i kullanmalıyım?
Girişler (bir şeyin belirmesi) ve tepkiler (hover, focus) için *ease-out* veya Material'in standard'ı cubic-bezier(0.4, 0, 0.2, 1). Çıkışlar için *ease-in* uygun. İlerleme dışında *linear* genellikle yanlıştır.
ease ile ease-out arasındaki fark nedir?
İkisi de yavaş biter; ama ease aynı zamanda yumuşak başlar. ease-out tam hızla başlar ve yavaşlar - bu *anında hareket* hissi ease'den daha duyarlı görünmesini sağlar.
CSS'te zıplayan bir animasyonu nasıl yaparım?
İkinci tutamağı tuvalin üstüne sürükle (Y2 > 1). Örnek: cubic-bezier(0.18, 0.89, 0.32, 1.28) hedefi ~%28 geçip yerine oturur. Birden fazla zıplama için @keyframes ya da spring kütüphanesi gerekir - cubic-bezier yalnızca bir kez overshoot yapabilir.
cubic-bezier'i @keyframes ile birlikte kullanabilir miyim?
Evet. animation-timing-function olarak veya animation kısayolunda kullan; keyframe başına da uygulayabilirsin. Karmaşık çok aşamalı hareketlerde her keyframe çifti arasına farklı easing koyabilirsin.

Daha fazla bilgi

Diğer geliştirici araçları

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA