277 of 313 menu

Egenskapen animation-fill-mode

Egenskapen animation-fill-mode sätter i vilket läge animationer ska stanna efter avslut. Som standard återgår animationen till ursprungligt värde och det kan se inte särskilt snyggt ut.

Syntax

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

Värden

Värde Beskrivning
none Om animationsfördröjning är satt - så under fördröjningstiden kommer elementet att stanna kvar på plats, och sedan hoppa till 0% keyframe. Efter att animationen avslutats kommer elementet inte att stanna kvar i det tillståndet, där den stannade, utan hoppa tillbaka till starttillståndet.
backwards Tvingar elementet att efter sidladdning gå till 0% keyframe, även om fördröjning är satt animation-delay, och stanna kvar där tills animationen börjar. Efter att animationen avslutats kommer elementet inte att stanna kvar i det tillståndet, där den stannade, utan hoppa tillbaka till starttillståndet.
forwards Anger till webbläsaren att efter avslutad animation ska elementet stanna kvar i det tillståndet, där den stannade.
both Inkluderar både backwards och forwards - efter sidladdning kommer elementet att sättas till 0% keyframe, och efter avslutad animation kommer elementet att stanna kvar där, där den stannade.

Standardvärde: none.

Exempel . Värdet none

I detta exempel är margin-left satt till värdet 300px för elementet, och för första keyframe i animationen - till 0px. Eftersom det inte finns någon fördröjning animation-delay, så kommer elementet efter sidladdning att ställa sig i 0px, och inte i 300px. Utöver det kommer animationen efter avslut att hoppa tillbaka till startvärdet:

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

:

Exempel . Värdet none

I detta exempel är margin-left satt till värdet 300px för elementet, och för första keyframe i animationen - till 0px. Även för elementet är fördröjning animation-delay satt till 3 sekunder, därför kommer elementet efter sidladdning att ställa sig i 300px, och inte i 0px, och kommer att stå där 3 sekunder efter animationens start och sedan hoppa till 0px - och animationen startar därifrån. Utöver det kommer animationen efter avslut att hoppa tillbaka till startvärdet:

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

:

Exempel . Värdet backwards

I detta exempel är margin-left satt till värdet 300px för elementet, och för första keyframe i animationen - till 0px. Även för elementet är animation-fill-mode satt till värdet backwards, därför kommer elementet efter sidladdning att ställa sig i 0px, och inte i 300px, som det var för animation-fill-mode i värdet none. Utöver det kommer animationen efter avslut att hoppa tillbaka till startvärdet:

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

:

Exempel . Värdet none och antal upprepningar lika med 1

I detta exempel är margin-left satt till värdet 300px för elementet, och för första keyframe i animationen - till 0px. Även för elementet är fördröjning animation-delay satt till 3 sekunder, därför kommer elementet efter sidladdning att ställa sig i 300px, och inte i 0px, och kommer att stå där 3 sekunder efter animationens start och sedan hoppa till 0px - och animationen startar därifrån. Eftersom animation-fill-mode är satt till värdet none, så efter att animationen spelats upp kommer elementet att återgå till startvärdet:

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

:

Exempel . Värdet forwards och antal upprepningar lika med 1

I detta exempel är animation-fill-mode satt till värdet forwards, och antalet upprepningar av animationen - till 1. Efter att animationen spelats upp kommer elementet att stanna kvar i det läget, där animationen slutade, och inte hoppa tillbaka till startpunkten.

Utöver det är margin-left satt till värdet 300px för elementet, och för första keyframe i animationen - till 0px. Även för elementet är fördröjning animation-delay satt till 3 sekunder, därför kommer elementet efter sidladdning att ställa sig i 300px, och inte i 0px, och kommer att stå där 3 sekunder efter animationens start, och sedan hoppa till 0px - och animationen startar därifrån:

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

:

Exempel . Värdet both och antal upprepningar lika med 1

I detta exempel är animation-fill-mode satt till värdet both, och antalet upprepningar av animationen - till 1. Efter sidladdning kommer elementet att stå i första keyframe i animationen (i 0px, och inte i 300px), och efter att animationen spelats upp kommer elementet att stanna kvar i det läget, där animationen slutade, och inte hoppa tillbaka till startpunkten:

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

:

Se även

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa