277 of 313 menu

Proprietà animation-fill-mode

La proprietà animation-fill-mode imposta in quale posizione si fermano le animazioni dopo la fine. Per impostazione predefinita l'animazione ritorna al valore iniziale e questo potrebbe non sembrare molto bello.

Sintassi

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

Valori

Valore Descrizione
none Se è impostato un ritardo dell'animazione - durante il tempo di ritardo l'elemento rimarrà al suo posto, e poi salterà al fotogramma 0%. Dopo la fine dell'animazione l'elemento non rimarrà nello stato in cui si è fermato, ma salterà allo stato iniziale.
backwards Forza l'elemento a muoversi dopo il caricamento della pagina verso il fotogramma 0%, anche se è impostato un ritardo animation-delay, e a rimanere lì, finché non inizia l'animazione. Dopo la fine dell'animazione l'elemento non rimarrà nello stato in cui si è fermato, ma salterà allo stato iniziale.
forwards Indica al browser che dopo la fine dell'animazione l'elemento rimarrà nello stato in cui si è fermato.
both Include backwards e forwards - dopo il caricamento della pagina l'elemento si imposterà sul fotogramma 0%, e dopo la fine dell'animazione l'elemento rimarrà dove si è fermato.

Valore predefinito: none.

Esempio . Valore none

In questo esempio margin-left è impostato al valore 300px per l'elemento, e per il primo fotogramma dell'animazione - a 0px. Poiché non c'è ritardo animation-delay, l'elemento dopo il caricamento della pagina si posizionerà a 0px, e non a 300px. Inoltre l'animazione dopo la fine salterà al valore iniziale:

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

:

Esempio . Valore none

In questo esempio margin-left è impostato al valore 300px per l'elemento, e per il primo fotogramma dell'animazione - a 0px. Inoltre per l'elemento è impostato un ritardo animation-delay di 3 secondi, quindi l'elemento dopo il caricamento della pagina si posizionerà a 300px, e non a 0px, e rimarrà lì per 3 secondi dopo l'inizio dell'animazione e poi salterà a 0px - e l'animazione inizierà da lì. Inoltre, l'animazione dopo la fine salterà al valore iniziale:

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

:

Esempio . Valore backwards

In questo esempio margin-left è impostato al valore 300px per l'elemento, e per il primo fotogramma dell'animazione - a 0px. Inoltre per l'elemento è impostato animation-fill-mode al valore backwards, quindi l'elemento dopo il caricamento della pagina si posizionerà a 0px, e non a 300px, come avveniva per animation-fill-mode al valore none. Inoltre, l'animazione dopo la fine salterà al valore iniziale:

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

:

Esempio . Valore none e numero di ripetizioni uguale a 1

In questo esempio margin-left è impostato al valore 300px per l'elemento, e per il primo fotogramma dell'animazione - a 0px. Inoltre per l'elemento è impostato un ritardo animation-delay di 3 secondi, quindi l'elemento dopo il caricamento della pagina si posizionerà a 300px, e non a 0px, e rimarrà lì per 3 secondi dopo l'inizio dell'animazione e poi salterà a 0px - e l'animazione inizierà da lì. Poiché animation-fill-mode è impostato al valore none, dopo la riproduzione dell'animazione l'elemento tornerà al valore iniziale:

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

:

Esempio . Valore forwards e numero di ripetizioni uguale a 1

In questo esempio animation-fill-mode è impostato al valore forwards, e il numero di ripetizioni dell'animazione - a 1. Dopo la riproduzione dell'animazione l'elemento rimarrà nella posizione in cui è finita l'animazione, e non salterà al punto di partenza.

Inoltre, margin-left è impostato al valore 300px per l'elemento, e per il primo fotogramma dell'animazione - a 0px. Inoltre per l'elemento è impostato un ritardo animation-delay di 3 secondi, quindi l'elemento dopo il caricamento della pagina si posizionerà a 300px, e non a 0px, e rimarrà lì per 3 secondi dopo l'inizio dell'animazione, e poi salterà a 0px - e l'animazione inizierà da lì:

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

:

Esempio . Valore both e numero di ripetizioni uguale a 1

In questo esempio animation-fill-mode è impostato al valore both, e il numero di ripetizioni dell'animazione - a 1. Dopo il caricamento della pagina l'elemento si posizionerà nel primo fotogramma dell'animazione (a 0px, e non a 300px), e dopo la riproduzione dell'animazione l'elemento rimarrà nella posizione in cui è finita l'animazione, e non salterà al punto di partenza:

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

:

Vedi anche

  • la proprietà animation-name,
    che imposta il nome dell'animazione
  • la proprietà animation-duration,
    che imposta la durata dell'animazione
  • la proprietà animation-delay,
    che imposta il ritardo prima dell'esecuzione dell'animazione
  • la proprietà animation-timing-function,
    che imposta la velocità di esecuzione dell'animazione
  • la proprietà animation-iteration-count,
    che imposta il numero di iterazioni dell'animazione
  • la proprietà animation-direction,
    che imposta la direzione dell'animazione
  • la proprietà animation-play-state,
    che permette di mettere in pausa l'animazione
  • la proprietà animation,
    che rappresenta una forma abbreviata per le animazioni
  • il comando @keyframes,
    che imposta i fotogrammi chiave dell'animazione
  • le transizioni fluide transition, che rappresentano un'animazione al passaggio del mouse sull'elemento
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta