animation-fill-mode касиети
animation-fill-mode касиети анимация аяктагандан
кийин элементтин кайсы абалда токтотулушун
белгилейт. Демейки абалда анимация баштапкы
маанисине кайтат жана бул кооз эмес көрүнүшү
мүмкүн.
Синтаксис
селектор {
animation-fill-mode: backwards | forwards | both | none;
}
Маанилери
| Маани | Сүрөттөлүшү |
|---|---|
none |
Эгерде анимацияга кечигүү (delay) коюлса - анда кечигүү убакытында
элемент ошол жерде калат, андан кийин секирип 0% кадрга өтөт.
Анимация аяктагандан кийин элемент токтогон абалда
калбайт, тескерисинче баштапкы абалга секирет.
|
backwards |
Элементти барак жүктөлгөндөн кийин 0% кадрга жылдырат,
эгерде кечигүү (delay) коюлса дагы,
жана анимация башталганга чейин ошол жерде калат.
Анимация аяктагандан кийин элемент
токтогон абалда калбайт,
тескерисинче баштапкы абалга секирет.
|
forwards |
Браузерге анимация аяктагандан кийин элемент токтогон абалда калаарын көрсөтөт. |
both |
backwards жана forwards маанилерин камтыйт - барак
жүктөлгөндөн кийин элемент 0% кадрга орнотулат, ал эми
анимация аяктагандан кийин элемент токтогон жерде калат.
|
Демейки маани: none.
Мисал . None мааниси
Бул мисалда элемент үчүн margin-left
300px маанисине коюлган,
ал эми анимациянын биринчи кадры үчүн - 0px.
animation-delay
кечигүүсү жок болгондуктан, элемент барак жүктөлгөндөн кийин
0px болот,
300px эмес. Мындан тышкары,
анимация аяктагандан кийин баштапкы мааниге секирет:
<div id="elem"></div>
@keyframes move {
from {
margin-left: 0;
}
to {
margin-left: 400px;
}
}
#elem {
margin-left: 300px;
animation-fill-mode: none;
animation-delay: 0s;
animation-duration: 3s;
animation-name: move;
animation-iteration-count: infinite;
animation-timing-function: linear;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Мисал . None мааниси
Бул мисалда элемент үчүн margin-left
300px маанисине коюлган,
ал эми анимациянын биринчи кадры үчүн - 0px.
Ошондой эле элементке animation-delay
кечигүүсү 3 секундага коюлган, ошондуктан элемент
барак жүктөлгөндөн кийин 300px болот,
0px эмес, жана анимация башталганга чейин 3
секунда ошол жерде турат, андан кийин секирип
0px өтөт - жана анимация ошол жерден башталат.
Мындан тышкары, анимация аяктагандан кийин
баштапкы мааниге секирет:
<div id="elem"></div>
@keyframes move {
from {
margin-left: 0;
}
to {
margin-left: 400px;
}
}
#elem {
margin-left: 300px;
animation-fill-mode: none;
animation-delay: 0s;
animation-duration: 3s;
animation-name: move;
animation-iteration-count: infinite;
animation-timing-function: linear;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Мисал . Backwards мааниси
Бул мисалда элемент үчүн margin-left
300px маанисине коюлган,
ал эми анимациянын биринчи кадры үчүн - 0px.
Ошондой эле элементке animation-fill-mode
backwards маанисине коюлган, ошондуктан элемент
барак жүктөлгөндөн кийин 0px болот,
300px эмес, бул animation-fill-mode
none маанисинде болгондой элес. Мындан тышкары, анимация
аяктагандан кийин баштапкы мааниге секирет:
<div id="elem"></div>
@keyframes move {
from {
margin-left: 0;
}
to {
margin-left: 400px;
}
}
#elem {
margin-left: 300px;
animation-fill-mode: backwards;
animation-delay: 0s;
animation-duration: 3s;
animation-name: move;
animation-iteration-count: infinite;
animation-timing-function: linear;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Мисал . None мааниси жана кайталоо саны 1ге барабар
Бул мисалда элемент үчүн margin-left
300px маанисине коюлган,
ал эми анимациянын биринчи кадры үчүн - 0px.
Ошондой эле элементке animation-delay
кечигүүсү 3 секундага коюлган, ошондуктан элемент
барак жүктөлгөндөн кийин 300px болот,
0px эмес, жана анимация башталганга чейин 3
секунда ошол жерде турат, андан кийин секирип
0px өтөт - жана анимация ошол жерден башталат.
animation-fill-mode none маанисинде коюлгандыктан,
анимация ойнотулгандан кийин
элемент баштапкы маанисине кайтат:
<div id="elem"></div>
@keyframes move {
from {
margin-left: 0;
}
to {
margin-left: 400px;
}
}
#elem {
margin-left: 300px;
animation-fill-mode: none;
animation-delay: 3s;
animation-duration: 3s;
animation-name: move;
animation-iteration-count: 1;
animation-timing-function: linear;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Мисал . Forwards мааниси жана кайталоо саны 1ге барабар
Бул мисалда animation-fill-mode
forwards маанисинде коюлган, ал эми
анимацияны
кайталоо саны - 1. Анимация ойнотулгандан кийин
элемент анимация аяктаган жерде калат,
баштапкы чекитке секирбейт.
Мындан тышкары, элемент үчүн margin-left
300px маанисине коюлган, ал эми
анимациянын биринчи кадры үчүн - 0px. Ошондой эле
элементке animation-delay
кечигүүсү 3 секундага коюлган, ошондуктан элемент
барак жүктөлгөндөн кийин 300px болот,
0px эмес, жана анимация башталганга чейин 3
секунда ошол жерде турат, андан кийин секирип
0px өтөт - жана анимация ошол жерден башталат:
<div id="elem"></div>
@keyframes move {
from {
margin-left: 0;
}
to {
margin-left: 400px;
}
}
#elem {
margin-left: 300px;
animation-fill-mode: forwards;
animation-delay: 3s;
animation-duration: 3s;
animation-name: move;
animation-iteration-count: 1;
animation-timing-function: linear;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Мисал . Both мааниси жана кайталоо саны 1ге барабар
Бул мисалда animation-fill-mode
both маанисинде коюлган, ал эми анимацияны
кайталоо саны - 1. Барак
жүктөлгөндөн кийин элемент анимациянын биринчи кадрында турат
(0px, ал эмес
300px), ал эми анимация ойнотулгандан кийин элемент
анимация аяктаган жерде калат,
баштапкы чекитке секирбейт:
<div id="elem"></div>
@keyframes move {
from {
margin-left: 0;
}
to {
margin-left: 400px;
}
}
#elem {
margin-left: 300px;
animation-fill-mode: both;
animation-delay: 3s;
animation-duration: 3s;
animation-name: move;
animation-iteration-count: 1;
animation-timing-function: linear;
border: 1px solid black;
width: 50px;
height: 50px;
}
:
Ошондой эле караңыз
-
animation-nameкасиети,
анимациянын атын белгилейт -
animation-durationкасиети,
анимациянын узактыгын белгилейт -
animation-delayкасиети,
анимацияны аткаруудан мурун кечигүүнү белгилейт -
animation-timing-functionкасиети,
анимацияны аткаруу ылдамдыгын белгилейт -
animation-iteration-countкасиети,
анимациянын кайталоо санын белгилейт -
animation-directionкасиети,
анимациянын багытын белгилейт -
animation-play-stateкасиети,
анимацияны токтотууга мүмкүндүк берет -
animationкасиети,
анимациялар үчүн кыскартуу болуп саналат -
@keyframesкомандасы,
анимациянын негизги кадрларын белгилейт -
transitionжылмакай өтүүлөр, элементтин үстүнө курсорду алып барганда аткарылуучу анимация болуп саналат