Wait, CSS'de bir animasyonu yavaşlatmak veya duraklatmak için kullanılan bir fonksiyondur. Wait, pasif bir duruma geçtiğinde, animasyonun devam edip etmeyeceğini belirler.
Wait kullanmanın en yaygın kullanımı, hover etkinleştirildiğinde animasyonun hızlandırılması ve pasif olduğunda yavaşlamasıdır. Wait bazen, animasyonların aynı anda başlatılması veya tamamlanması için iletişim kurmak istediğimiz durumlarda da kullanılabilir.
Wait fonksiyonu, CSS anahtar çerçevelerinde, animasyonların durumuna göre farklı değerlerle kullanılabilir. Bekleme değeri saniye cinsinden belirtilir ve genellikle 0,5 veya 1 saniye aralığında kullanılır.
Wait kullanarak, aşağıdaki örnekte gösterilen animasyonu yavaşlatmak mümkündür:
```css
@keyframes Example {
from { transform: scale(1); }
to { transform: scale(2); }
}
.example:hover {
animation-name: Example;
animation-duration: 2s;
animation-delay: 0.5s;
animation-fill-mode: forwards;
}
.example {
transition: transform 0.5s ease-in-out;
}
```
Yukarıdaki örnekte, wait fonksiyonu, `animation-delay` özelliğiyle kullanılır. Example animasyonu, 2 saniye sürerken, wait fonksiyonu ilk 0,5 saniye içinde tetiklenir ve animasyonu yavaşlatır.
Wait fonksiyonu ayrıca, birden fazla animasyonu aynı anda başlatmak istediğimizde de kullanılabilir. Aşağıdaki örnekte, wait fonksiyonu, hareketli çizgileri bir arada kullanarak animasyonları başlatmamızı sağlar:
```css
@keyframes slide {
from {
transform: translateX(-100%);
}
to {
transform: translateX(100%);
}
}
@keyframes color {
from {
background-color: orange;
}
to {
background-color: purple;
}
}
.rectangle {
width: 100px;
height: 100px;
position: relative;
animation: slide 2s ease-in-out;
}
#box1 {
top: 0;
left: 0;
background-color: orange;
animation: color 4s ease-in-out infinite alternate;
}
#box2 {
top: 50px;
left: 50px;
background-color: blue;
animation: color 4s ease-in-out infinite alternate;
}
#box2 {
bottom: 0;
right: 0;
background-color: green;
animation: color 4s ease-in-out infinite alternate;
}
.box {
position: absolute;
width: 10px;
height: 50px;
transform-origin: bottom;
animation: slide 2s ease-in-out, color 4s ease-in-out infinite alternate;
}
.box:nth-child(odd) {
animation-delay: 1s;
}
```
Yukarıdaki örnekte, her bir animasyon `animation-delay` özelliğiyle ayarlanmıştır. Fonksiyon, son animasyonun tamamlanmasını beklemek veya animasyonların hepsini birden başlatmak için kullanılabilir.
CSS'de wait kullanımı animasyonlar için oldukça yararlıdır ve web sitelerini daha etkileyici hale getirir.