Treci la conținutul principal

Proprietăți ale animației CSS

Aici apar trei subiecte: direcția animației CSS, modul de umplere și proprietatea prescurtată.


Proprietatea CSS animation-direction

O animație poate rula înainte, înapoi sau în cicluri alternante, iar animation-direction decide care dintre acestea se aplică.

Valorile posibile sunt:

  • normal - Valoarea implicită: animația rulează înainte.
  • reverse - Redarea are loc înapoi.
  • alternate - Mai întâi vine o rulare înainte, urmată de una înapoi.
  • alternate-reverse - Mai întâi vine o rulare înapoi, urmată de una înainte.

Direcție inversă

Aici, valoarea reverse face animația să ruleze înapoi.

Prompt
Creați o animație CSS care mută un div roșu de 100x100px de la stânga la dreapta folosind @keyframes, cu animation-direction setat la reverse, astfel încât să ruleze înapoi.
Rezultat: pagină HTML completă

Direcție alternantă

Datorită valorii alternate, această animație merge înainte la prima rulare și înapoi la următoarea.

Prompt
Creați o animație CSS care mută un div roșu de 100x100px de la stânga la dreapta folosind @keyframes, cu animation-iteration-count setat la 2 și animation-direction setat la alternate, astfel încât să ruleze înainte apoi înapoi.
Rezultat: pagină HTML completă

Direcție alternantă-inversă

Datorită valorii alternate-reverse, ordinea se inversează: înapoi la prima rulare și înainte la următoarea.

Prompt
Creați o animație CSS care mută un div roșu de 100x100px de la stânga la dreapta folosind @keyframes, cu animation-iteration-count setat la 2 și animation-direction setat la alternate-reverse astfel încât să se redea mai întâi înapoi, apoi înainte.
Rezultat: pagină HTML completă

Proprietatea CSS animation-fill-mode

Înainte să ruleze primul keyframe și după ce se termină ultimul, o animație nu are niciun efect asupra elementului ei. Tocmai acest comportament îl poți schimba cu animation-fill-mode.

Proprietatea decide ce stil are elementul atunci când animația nu rulează, fie înainte de a începe, fie după ce se termină, fie în ambele cazuri.

Valori disponibile:

  • none - Niciun stil nu se păstrează înainte sau după animație; aceasta este valoarea implicită.
  • forwards - Stilurile ultimului keyframe rămân pe element (care keyframe este ultimul depinde de animation-direction și animation-iteration-count).
  • backwards - Stilurile primului keyframe se aplică elementului (care keyframe este primul depinde de animation-direction) și rămân pe tot parcursul perioadei animation-delay.
  • both - Regulile pentru forwards și backwards se aplică împreună.

Modul de umplere forwards

După ce animația se termină, elementul păstrează valorile de stil ale ultimului keyframe.

Prompt
Creați o animație CSS care mută un div roșu de 100x100px de la stânga (0px) la dreapta (250px) folosind @keyframes, cu animation-fill-mode setat la forwards, astfel încât elementul să păstreze stilurile ultimului keyframe după terminarea animației. Folosiți o durată de 3s.
Rezultat: pagină HTML completă

Modul de umplere backwards

În perioada de întârziere, înainte ca animația să înceapă, elementul afișează deja valorile de stil ale primului keyframe.

Prompt
Creați o animație CSS care mută un div roșu de 100x100px de la stânga la dreapta folosind @keyframes, cu un animation-delay de 2s și animation-fill-mode setat la backwards, astfel încât elementul să primească stilurile primului keyframe în timpul perioadei de întârziere. Primul keyframe ar trebui să seteze background-color la yellow și left la 0px.
Rezultat: pagină HTML completă

Modul de umplere both

Stilurile primului keyframe apar înainte de început, iar stilurile ultimului keyframe rămân după sfârșit.

Prompt
Creați o animație CSS care mută un div roșu de 100x100px de la stânga la dreapta folosind @keyframes, cu un animation-delay de 2s și animation-fill-mode setat la both, astfel încât elementul să primească stilurile primului keyframe înainte de a începe și să păstreze stilurile ultimului keyframe după terminare. Folosiți o durată de 3s.
Rezultat: pagină HTML completă

Proprietatea prescurtată CSS pentru animație

Nu ai nevoie de câte un rând separat pentru fiecare proprietate de animație: proprietatea prescurtată animation le setează pe toate într-o singură linie.

Proprietăți lungi

Aici sunt scrise separat șase proprietăți de animație.

Prompt
Creați o animație CSS folosind proprietăți individuale de animație: animation-name myAnimation, animation-duration 5s, animation-timing-function linear, animation-delay 2s, animation-iteration-count infinite și animation-direction alternate. Animația ar trebui să mute un div roșu de 100x100px de la stânga la dreapta.
Rezultat: pagină HTML completă

Proprietate prescurtată

Cu proprietatea prescurtată animation, efectul este identic cu cel din exemplul de mai sus.

Prompt
Creați o animație CSS folosind proprietatea prescurtată animation pentru a combina toate valorile pe o singură linie: animation: myAnimation 5s linear 2s infinite alternate. Animația ar trebui să mute un div roșu de 100x100px de la stânga la dreapta.
Rezultat: pagină HTML completă