CSS Animation
- Previous Page CSS Transition
- Next Page CSS Tooltip
CSS Animation
Ang CSS ay makakapagbigay ng animation effect sa HTML element kung hindi gamit ang JavaScript o Flash!
Sa kabanata na ito, malalaman mo ang mga sumusunod na property:
@keyframes
animation-name
animation-duration
animation-delay
animation-iteration-count
animation-direction
animation-timing-function
animation-fill-mode
animation
Browser support for animation
Ang mga numero sa talahanayan ay naglalarawan ng unang bersyon ng browser na nagtutulungan sa ganitong property.
Atributo | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
@keyframes | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-name | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-duration | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-delay | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-iteration-count | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-direction | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-timing-function | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation-fill-mode | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
animation | 43.0 | 10.0 | 16.0 | 9.0 | 30.0 |
Ano ang CSS animation?
Ang animation ay nagbibigay ng pagkakaroon ng pagbabago ng style ng elemento mula sa isa at papunta sa isa.
Maaari mo ring baguhin ang anumang bilang ng CSS property.
Upang gamitin ang CSS animation, dapat mo muna itakda ang ilang mga keyframe para sa animation.
Ang mga keyframe ay naglalaman ng mga style na pagmamayari ng elemento sa tiyak na oras.
@keyframes rule
Kung ikaw ay @keyframes
Ang mga rule ay nagtutukoy ng CSS style, ang animation ay magpapatuloy ng pagbabago ng style mula sa kasalukuyang style hanggang sa bagong style sa tiyak na oras.
Upang maisapilitan ang animation, dapat itong talin sa anumang elemento.
Ang halimbawa na ito ay magtatali sa 'example' animation sa <div> element. Ang animation ay magpapatuloy ng 4 segundo, habang magbabago ang kulay ng background ng <div> element mula sa 'red' hanggang 'yellow':
Eksemplo
/* Ang code ng animation */ @keyframes example { from {background-color: red;} to {background-color: yellow;} } /* Mag-aplay ng animation effect sa elemento na ito */ div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
Babala:animation-duration
Ang property na ito ay nagtutukoy ng anong oras ang pagkumpleto ng animation. Kung hindi ito itinakda: animation-duration
Kung walang itinakda ang property, hindi magaganap ang animation dahil ang default na halaga ay 0s (0 second).
Sa paggamit ng mga keyword na 'from' at 'to' (na nagrerepresenta ng 0% (simula) at 100% (kumpleto)), natinatag ang kung kailan magbabago ang style.
Maaari mo ring gamitin ang porsyento ng halaga. Sa pamamagitan ng paggamit ng porsyento, maaaring magdagdag ka ng anumang bilang ng style na pagbabago na kailangan mo.
Ang halimbawa na ito ay magbabago ng kulay ng background ng <div> element kapag ang animation ay nakumpleto ng 25%, 50%, at 100%:
Eksemplo
/* Ang code ng animation */ @keyframes example { 0% {background-color: red;} 25% {background-color: yellow;} 50% {background-color: blue;} 100% {background-color: green;} } /* Ang elementong gamit ang animation */ div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
Ang mga halimbawa na ito ay magbabago ng kulay ng background at posisyon ng <div> na elemento kapag ang animation ay nakumpleto ng 25%, 50% at 100%:
Eksemplo
/* Ang code ng animation */ @keyframes example { 0% {background-color:red; left:0px; top:0px;} 25% {background-color:yellow; left:200px; top:0px;} 50% {background-color:blue; left:200px; top:200px;} 75% {background-color:green; left:0px; top:200px;} 100% {background-color:red; left:0px; top:0px;} } /* Ang elementong gamit ang animation */ div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; }
Paghangganan ang animation
animation-delay
Ang attribute na ito ay nagtutukoy kung anong oras ang pagtanggol bago magsimula ang animation.
Ang mga halimbawa na ito ay may 2 segundo na paghinto bago magsimula ang animation:
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-delay: 2s; }
Ang negatibong halaga ay pinapayagan din. Kung ginagamit ang negatibong halaga, ang animation ay paplayer mula sa punto na ito bilang kung nagsimula na ito ng N segundo.
Sa mga halimbawa na ito, ang animation ay paplayer mula sa punto na ito bilang kung nagsimula na ito ng 2 segundo:
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-delay: -2s; }
Itakda kung ilang beses ang animation ay dapat papatakbuhin
animation-iteration-count
Ang attribute na ito ay nagtutukoy kung ang animation ay dapat papatakbuhin kung ilang beses.
Ang mga halimbawa na ito ay papatakbuhin ang animation 3 beses bago ito itigil:
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 3; }
Ang mga halimbawa na ito ay gumagamit ng halaga "infinite" upang mapanatili ang animation sa panghabang buhay:
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: infinite; }
Bumalik o alternatibo na patakbuhin ang animation
animation-direction
Ang attribute na ito ay nagtutukoy kung ang animation ay dapat paplayer sa harap, sa likod o alternatibo.
animation-direction
Ang property na ito ay maaaring tanggapin ang mga sumusunod na halaga:
normal
- Ang animation ay paplayer nang normal (sa harap). Ang default na halagareverse
- Ang animation ay paplayer sa tapat na direksyon (sa likod)alternate
- Ang animation ay paplayer muna sa harap, pagkatapos ay sa likodalternate-reverse
- Ang animation ay paplayer muna sa likod, pagkatapos ay sa harap
Ang halimbawa na ito ay papatakbuhin ang animation sa tapat na direksyon (sa likod):
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-direction: reverse; }
Ang mga halimbawa na ito ay gumagamit ng halaga "alternate" upang patakbuhin ang animation muna sa harap, pagkatapos ay sa likod:
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 2; animation-direction: alternate; }
Ang mga halimbawa na ito ay gumagamit ng halaga "alternate-reverse" upang patakbuhin ang animation muna sa likod, pagkatapos ay sa harap:
Eksemplo
div { width: 100px; height: 100px; position: relative; background-color: red; animation-name: example; animation-duration: 4s; animation-iteration-count: 2; animation-direction: alternate-reverse; }
Tukuyin ang kurva ng bilis ng animasyon
animation-timing-function
Ang property na ito ay nagbibigay ng kurva ng bilis ng animasyon.
animation-timing-function
Ang property na ito ay maaaring tanggapin ang mga sumusunod na halaga:
ease
- Tukuyin ang animasyon na mabagal sa simula, nagpapatuloy, at mabagal sa katapusan (default)linear
- Tukuyin ang animasyon na may parehong bilis mula simula hanggang katapusanease-in
- Tukuyin ang animasyon na mas mabagal sa simulaease-out
- Tukuyin ang animasyon na mas mabagal sa katapusanease-in-out
- Tukuyin ang animasyon na mas mabagal sa simula at katapusancubic-bezier(n,n,n,n)
- Run ang iyong sariling mga halaga sa tatlong bezier function
Ang mga halimbawa na ito ay nagpapakita ng iba't ibang kurva ng bilis na maaaring gamitin:
Eksemplo
Tukuyin ang mode ng pagpunanaw ng animasyon
Ang CSS animation ay hindi makakaimpluwensya sa elemento bago ang unang keyframe ay magpakita o pagkatapos ng huling keyframe ay magpakita.animation-fill-mode
ang property na ito ay makakalagay sa ganoong pagbabahay.
Sa panahon na hindi nagpapatugtug ang animasyon (bago, pagkatapos, o parehong sa parehong oras sa pagtatapos),animation-fill-mode
Ang property na ito ay nagbibigay ng estilo sa target na elemento.
Ang animation-fill-mode property ay maaaring tanggapin ang mga sumusunod na halaga:
none
- Ang default na halaga. Ang animasyon ay hindi nagpapakilala ng anumang estilo sa elemento bago o pagkatapos ng pagpapatupad.forwards
- Ang elemento ay magpapanatili ang estilo na itinakda sa huling keyframe (depende sa animation-direction at animation-iteration-count).backwards
- Ang elemento ay makakuha ng estilo na itinakda sa unang keyframe (depende sa animation-direction), at ay magpapanatili ang halaga nito sa panahon ng paghahanda ng animasyon.both
- Ang animasyon ay susunod sa parehong mga alituntunin ng forward at backward, kaya nagpapalawak ng mga katangian ng animasyon sa dalawang direksyon.
Ang mga halimbawa na ito ay nagpapanatili sa <div> elemento ang estilo na natatakda sa huling keyframe kapag ang animasyon ay natapos:
Eksemplo
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-fill-mode: forwards; }
Ang sumusunod na halimbawa ay gumagamit ng unang pangunahing estilo ng <div> elemento bago ang animasyon ay magsimula (sa panahon ng pagkaantala ng animasyon):
Eksemplo
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-delay: 2s; animation-fill-mode: backwards; }
Ang sumusunod na halimbawa ay gumagamit ng unang pangunahing estilo ng <div> elemento bago ang animasyon ay magsisimula, at iniiwan ang huling pangunahing estilo ng huling pangunahing pasyon sa pagtatapos ng animasyon:
Eksemplo
div { width: 100px; height: 100px; background: red; position: relative; animation-name: example; animation-duration: 3s; animation-delay: 2s; animation-fill-mode: both; }
Mga Maikling Atributo ng Animasyon
Ang sumusunod na halimbawa ay gumagamit ng anim na mga atributo ng animasyon:
Eksemplo
div { animation-name: example; animation-duration: 5s; animation-timing-function: linear; animation-delay: 2s; animation-iteration-count: infinite; animation-direction: alternate; }
Gamit ang maikling anyo ng animation
Ang atributo ay maaari ring maisapilitan ang parehong epekto ng animasyon na sa nakaraang halimbawa:
Eksemplo
div { animation: example 5s linear 2s infinite alternate; }
CSS Animasyon na Atributo
Ang sumusunod na talahanayan ay naglilista ng mga patakaran ng @keyframes at lahat ng mga CSS animasyon na atributo:
Atributo | Inilarawan |
---|---|
@keyframes | Tinutukoy ang mode ng animasyon. |
animation | I-set ang maikling anyo ng lahat ng atributo ng animasyon. |
animation-delay | Tinutukoy ang pagkaantala ng pagsisimula ng animasyon. |
animation-direction | Tinutukoy kung ang animasyon ay magpapatuloy pabalik, magpapatuloy pababa, o magpapatuloy pabalik-pababa. |
animation-duration | Tinutukoy ang oras na kailangang magdulot ng isang pasyon ng animasyon. |
animation-fill-mode | Tinutukoy ang estilo ng elemento kapag hindi naglalaro ang animasyon (bago nagsisimula, pagkatapos, o parehong parehong). |
animation-iteration-count | Tinutukoy ang bilang na kailangang pagpalakad ng animasyon. |
animation-name | Tinutukoy ang pangalan ng @keyframes ng animasyon. |
animation-play-state | Define whether the animation is running or paused. |
animation-timing-function | Define the speed curve of the animation. |
- Previous Page CSS Transition
- Next Page CSS Tooltip