277 of 313 menu

Eigenschap animation-fill-mode

De eigenschap animation-fill-mode bepaalt in welke positie animaties stoppen na beëindiging. Standaard keert een animatie terug naar de oorspronkelijke waarde en dit kan er niet erg mooi uitzien.

Syntaxis

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

Waarden

Waarde Beschrijving
none Als er een animatievertraging is ingesteld - dan gedurende de vertragingstijd blijft het element op zijn plaats, en springt dan naar het 0% frame. Na het beëindigen van de animatie blijft het element niet in de toestand, waar het stopte, maar springt terug naar de begintoestand.
backwards Laat het element na het laden van de pagina naar het 0% frame bewegen, zelfs als er een vertraging is ingesteld animation-delay, en daar blijven totdat de animatie begint. Na het beëindigen van de animatie blijft het element niet in de toestand waar het stopte, maar springt terug naar de begintoestand.
forwards Geeft de browser aan dat na het beëindigen van de animatie het element blijft in de toestand waar het stopte.
both Combineert backwards en forwards - na het laden van de pagina wordt het element ingesteld op het 0% frame, en na het beëindigen van de animatie blijft het element waar het stopte.

Standaardwaarde: none.

Voorbeeld . Waarde none

In dit voorbeeld is margin-left ingesteld op de waarde 300px voor het element, en voor het eerste animatieframe - op 0px. Omdat er geen vertraging animation-delay is, zal het element na het laden van de pagina op 0px staan, en niet op 300px. Bovendien zal de animatie na beëindiging terugspringen naar de beginwaarde:

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

:

Voorbeeld . Waarde none

In dit voorbeeld is margin-left ingesteld op de waarde 300px voor het element, en voor het eerste animatieframe - op 0px. Ook is er een vertraging animation-delay van 3 seconden ingesteld voor het element, daarom zal het element na het laden van de pagina op 300px staan, en niet op 0px, en zal daar 3 seconden blijven staan na het starten van de animatie en dan met een sprong naar 0px gaan - en de animatie start vandaar. Bovendien zal de animatie na beëindiging terugspringen naar de beginwaarde:

<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: infinite; animation-timing-function: linear; border: 1px solid black; width: 50px; height: 50px; }

:

Voorbeeld . Waarde backwards

In dit voorbeeld is margin-left ingesteld op de waarde 300px voor het element, en voor het eerste animatieframe - op 0px. Ook is animation-fill-mode ingesteld op de waarde backwards, daarom zal het element na het laden van de pagina op 0px staan, en niet op 300px, zoals het was voor animation-fill-mode met de waarde none. Bovendien zal de animatie na beëindiging terugspringen naar de beginwaarde:

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

:

Voorbeeld . Waarde none en aantal herhalingen gelijk aan 1

In dit voorbeeld is margin-left ingesteld op de waarde 300px voor het element, en voor het eerste animatieframe - op 0px. Ook is er een vertraging animation-delay van 3 seconden ingesteld voor het element, daarom zal het element na het laden van de pagina op 300px staan, en niet op 0px, en zal daar 3 seconden blijven staan na het starten van de animatie en dan met een sprong naar 0px gaan - en de animatie start vandaar. Omdat animation-fill-mode ingesteld is op de waarde none, zal het element na het afspelen van de animatie terugkeren naar de beginwaarde:

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

:

Voorbeeld . Waarde forwards en aantal herhalingen gelijk aan 1

In dit voorbeeld is animation-fill-mode ingesteld op de waarde forwards, en het aantal herhalingen van de animatie - op 1. Na het afspelen van de animatie blijft het element in de positie waar de animatie eindigde, en springt niet terug naar het startpunt.

Bovendien is margin-left ingesteld op de waarde 300px voor het element, en voor het eerste animatieframe - op 0px. Ook is er een vertraging animation-delay van 3 seconden ingesteld voor het element, daarom zal het element na het laden van de pagina op 300px staan, en niet op 0px, en zal daar 3 seconden blijven staan na het starten van de animatie, en dan met een sprong naar 0px gaan - en de animatie start vandaar:

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

:

Voorbeeld . Waarde both en aantal herhalingen gelijk aan 1

In dit voorbeeld is animation-fill-mode ingesteld op de waarde both, en het aantal herhalingen van de animatie - op 1. Na het laden van de pagina zal het element staan in het eerste animatieframe (op 0px, en niet op 300px), en na het afspelen van de animatie blijft het element in de positie waar de animatie eindigde, en springt niet terug naar het startpunt:

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

:

Zie ook

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren