277 of 313 menu

Proprietatea animation-fill-mode

Proprietatea animation-fill-mode stabilește în ce poziție se oprește animația după finalizare. În mod implicit, animația revine la valoarea inițială și acest lucru poate arăta nu foarte frumos.

Sintaxă

selector { animation-fill-mode: backwards | forwards | both | none; }

Valori

Valoare Descriere
none Dacă este stabilită o întârziere a animației - atunci în timpul întârzierii elementul va rămâne pe loc, apoi va sări la cadrul 0%. După finalizarea animației elementul nu va rămâne în starea în care s-a oprit, ci va sări în starea inițială.
backwards Forțează elementul să se miște după încărcarea paginii către cadrul 0%, chiar dacă este stabilită o întârziere animation-delay, și să rămână acolo, până când nu începe animația. După finalizarea animației elementul nu va rămâne în starea în care s-a oprit, ci va sări în starea inițială.
forwards Indică browserului că după finalizarea animației elementul va rămâne în starea în care s-a oprit.
both Include atât backwards cât și forwards - după încărcarea paginii elementul se va stabili la cadrul 0%, iar după finalizarea animației elementul va rămâne acolo unde s-a oprit.

Valoare implicită: none.

Exemplu . Valoarea none

În acest exemplu margin-left este stabilit la valoarea 300px pentru element, iar pentru primul cadru al animației - la 0px. Deoarece nu există întârziere animation-delay, elementul după încărcarea paginii se va poziționa la 0px, și nu la 300px. În plus aceasta, animația după finalizare va sări la valoarea inițială:

<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; }

:

Exemplu . Valoarea none

În acest exemplu margin-left este stabilit la valoarea 300px pentru element, iar pentru primul cadru al animației - la 0px. De asemenea, pentru element este stabilită o întârziere animation-delay de 3 secunde, de aceea elementul după încărcarea paginii se va poziționa la 300px, și nu la 0px, și va sta acolo 3 secunde după care va sări la 0px - și animația va începe de acolo. În plus, animația după finalizare va sări la valoarea inițială:

<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; }

:

Exemplu . Valoarea backwards

În acest exemplu margin-left este stabilit la valoarea 300px pentru element, iar pentru primul cadru al animației - la 0px. De asemenea, pentru element este stabilit animation-fill-mode cu valoarea backwards, de aceea elementul după încărcarea paginii se va poziționa la 0px, și nu la 300px, așa cum era pentru animation-fill-mode cu valoarea none. În plus, animația după finalizare va sări la valoarea inițială:

<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; }

:

Exemplu . Valoarea none și numărul de repetări egal cu 1

În acest exemplu margin-left este stabilit la valoarea 300px pentru element, iar pentru primul cadru al animației - la 0px. De asemenea, pentru element este stabilită o întârziere animation-delay de 3 secunde, de aceea elementul după încărcarea paginii se va poziționa la 300px, și nu la 0px, și va sta acolo 3 secunde după care va sări la 0px - și animația va începe de acolo. Deoarece animation-fill-mode este stabilit cu valoarea none, după redarea animației elementul se va întoarce la valoarea inițială:

<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; }

:

Exemplu . Valoarea forwards și numărul de repetări egal cu 1

În acest exemplu animation-fill-mode este stabilit cu valoarea forwards, iar numărul de repetări al animației - la 1. După redarea animației elementul va rămâne în poziția în care s-a terminat animația, și nu va sări în punctul de plecare.

În plus, margin-left este stabilit la valoarea 300px pentru element, iar pentru primul cadru al animației - la 0px. De asemenea pentru element este stabilită o întârziere animation-delay de 3 secunde, de aceea elementul după încărcarea paginii se va poziționa la 300px, și nu la 0px, și va sta acolo 3 secunde după care va sări la 0px - și animația va începe de acolo:

<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; }

:

Exemplu . Valoarea both și numărul de repetări egal cu 1

În acest exemplu animation-fill-mode este stabilit cu valoarea both, iar numărul de repetări al animației - la 1. După încărcarea paginii elementul va sta în primul cadru al animației (la 0px, și nu la 300px), iar după redarea animației elementul va rămâne în poziția în care s-a terminat animația, și nu va sări în punctul de plecare:

<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; }

:

Vezi și

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge