CSS Animations Nedir?
Sözde sınıf :hover yıllardır ilkel animasyonlar oluşturmak için kullanılırken, CSS'nin animasyon alanına genişletilmesi Şubat 2009'da CSS aracılığıyla animasyon uygulandığını duyurdu.
CSS Animasyon özelliği , web sayfasında animasyon oluşturmak için kullanılır. Flash ve JavaScript tarafından oluşturulan animasyonun yerine kullanılabilir.
CSS animasyon özelliği, öğelerin bir özellik kümesinden diğerine geçişini sağlamak içindir. CSS ile elementleri düzgün bir şekilde canlandırmak için animasyonun başlangıç ​​ve bitiş durumlarını belirten anahtar kareler belirtmeniz gerekir.
Bu bölümde aşağıdaki özellikler hakkında bilgi edineceksiniz:
@keyframesanimation-nameanimation-durationanimation-delayanimation-iteration-countanimation-directionanimation-timing-functionanimation-fill-modeanimation
@Keyframes Kuralı
Keyframes, CSS Animations'ın çalıştığı temellerdir. Animasyonun gösterimini tüm süresinin ilgili aşamalarında tanımlarlar.
Temel anlamda animasyon, aşağıdaki kod bloğundaki gibi oluşturuluyor.
@keyframes slidein {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
Yukarıda slidein adında bir animasyon oluşturulmuş, from kısmında başlangıçtaki özellikleri, to kısmında ise en son alacağı hal belirlenmiştir.
Yüzde kullanmak da mümkündür. Yüzde özelliğini kullanarak istediğiniz sayıda stil değişikliği ekleyebilirsiniz.
Aşağıdaki örnek, animasyon % 25 tamamlandığında,% 50 tamamlandığında ve tekrar animasyon % 100 tamamlandığında <div> öğesinin arka plan rengini değiştirir.
@keyframes example {
0% {background-color: red;}
25% {background-color: yellow;}
50% {background-color: blue;}
100% {background-color: green;}
}
Aşağıdaki örnek, "example" animasyonunu <div> öğesine bağlar. Animasyon 4 saniye sürecek ve <div> öğesinin arka plan rengini "mavi" den "sarı" ya yavaş yavaş değiştirecektir:
ÖRNEK:
/* Animasyon kod */
@keyframes example {
from {background-color:blue;}
to {background-color: yellow;}
}
/* Animasyonu uygulanacak öğe */
div {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
ÇIKTI:
Not: Eğer animasyon-duration özellik belirtilmemişse varsayılan değer 0 sn (0 saniye) animasyon, başlar.
Yukarıdaki örnekte, stilin ve arasındaki form ve to anahtar kelimeleri (% 0 (başlangıç) ve %100 (tam bitiş) temsil eder.) değişeceğini belirledik. Yüzde kullanmak da mümkündür. Yüzde özelliğini kullanarak istediğiniz sayıda stil değişikliği ekleyebilirsiniz.
Yüzde kullanmak da mümkündür. Yüzde özelliğini kullanarak istediğiniz sayıda stil değişikliği ekleyebilirsiniz.
Aşağıdaki örnek, animasyon % 25 tamamlandığında, % 50 tamamlandığında ve tekrar animasyon % 100 tamamlandığında <div> öğesinin arka plan rengini değiştirir.
@keyframes example {
0% {background-color: orange;}
25% {background-color: yellow;}
50% {background-color: blue;}
100% {background-color: green;}
}
div {
width: 100px;
height: 100px;
background-color: orange;
animation-name: example;
animation-duration: 4s;
}
Aşağıdaki örnek, animasyon % 25 tamamlandığında, % 50 tamamlandığında ve yine % 100 tamamlandığında <div> öğesinin arka plan rengini ve konumunu değiştirir:
@keyframes example {
0% {background-color:DarkOrange;; left:0px; top:0px;}
25% {background-color:gold; left:200px; top:0px;}
50% {background-color:DodgerBlue; left:200px; top:200px;}
75% {background-color:Chartreuse; left:0px; top:200px;}
100% {background-color:DarkOrange; left:0px; top:0px;}
}
div {
width: 100px;
height: 100px;
position: relative;
background-color: DarkOrange;
animation-name: example;
animation-duration: 4s;
}
ÇIKTI:
Bir Animasyonu Geciktirme
animation-delay kodu, animasyon başlaması için bir gecikme belirtir.
Aşağıdaki örnekte animasyonu başlatmadan önce 2 saniye gecikme vardır.
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-delay: 2s;
}
Bir Animasyonun Kaç Kez Çalışması gerektiğini Ayarlama
animation-iteration-count kodu animasyon çalışmasının sayısını belirtir.
Aşağıdaki örnek, animasyonu durmadan 3 kez çalıştıracaktır.
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-iteration-count: 3;
}
Aşağıdaki örnekte animasyonun sonsuza kadar devam etmesi için infinite(sonsuz) değeri kullanılmıştır.
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-iteration-count: infinite;
}
Animasyonu Ters Yönde veya Alternatif Çevrimlerde Çalıştırma
animation-direction Özelliği belirtir bir animasyon geriye veya alternatif döngülerinde, ileri oynanması gerektiğini belirtir.
Animation-direction özelliği aşağıdaki değerlere sahip olabilir:
normalAnimasyon normal (ileri) olarak oynatılır. Bu varsayılanreverseAnimasyon ters yönde oynatılır (geriye doğru)alternateAnimasyon önce ileri, sonra geri oynatılıralternate-reverseAnimasyon önce geriye, sonra ileriye doğru oynatılır
Aşağıdaki örnek animasyonu ters yönde (geriye doğru) çalıştıracaktır:
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-direction: reverse;
}
Aşağıdaki örnekte, animasyonu önce ileri, sonra geri çalıştırmak için alternate değeri kullanılır.
.box {
width: 103px;
height: 130px;
margin: 50px;
background: url("/examples/images/ari.png") no-repeat;
position: relative;
animation: moveit 2s linear 0s infinite alternate;
}
@keyframes moveit {
from {left: 0;}
to {left: 50%;}
}
ÇIKTI:
Aşağıdaki örnekte, animasyonun önce geriye, sonra ileriye doğru çalışması için alternate-reverse değeri kullanılmıştır.
.box {
width: 103px;
height: 130px;
margin: 50px;
background: url("/examples/images/ari.png") no-repeat;
position: relative;
animation: moveit 2s linear 0s infinite alternate-reverse;
}
@keyframes moveit {
from {left: 0;}
to {left: 50%;}
}
ÇIKTI:
Animasyonun Hız Eğrisini Belirleme
animation-timing-function Özelliği animasyon hız eğrisi belirtir.
Animation-timing-function özelliği aşağıdaki değerlere sahip olabilir:
easeYavaş başlangıç, sonra hızlı, ardından yavaş biten bir animasyon belirtir (bu varsayılan değerdir).linearBaştan sona aynı hızda bir animasyon belirler.ease-inYavaş başlatılan bir animasyonu belirtir.ease-outYavaş sonu olan bir animasyonu belirtir.ease-in-outYavaş başlangıç ​​ve bitişli bir animasyonu belirtir.cubic-bezier(n,n,n,n)Kübik-bezier fonksiyonunda kendi değerlerinizi tanımlamanızı sağlar.
Aşağıdaki örnek, kullanılabilecek farklı hız eğrilerinden bazılarını gösterir:
div {
width: 100px;
height: 50px;
background-color: orange;
font-weight: bold;
position: relative;
animation: mymove 5s infinite;
}
#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}
@keyframes mymove {
from {left: 0px;}
to {left: 300px;}
}
HTML:
<div id="div1">linear</div>>
<div id="div2">ease</div>
<div id="div3">ease-in</div>
<div id="div4">ease-out</div>
<div id="div5">ease-in-out</div>
ÇIKTI:
Animasyon Steno Özelliği(Kısa Yazma Özelliği )
Aşağıdaki örnekte animasyon özelliklerinden altısı kullanılmıştır:
div {
animation-name: example;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
Yukarıdaki ile aynı animasyon efekti, shorthand(Kısa) animation özelliği kullanılarak yazılabilir.
div {
animation: example 5s linear 2s infinite alternate;
}
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- javaScript Template Literal
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML FORM OLUÅžTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- HTML ARKAPLANA MÜZİK EKLEME
- HTML DİV ve SPAN NEDİR?