Kernpunkte
animation-fill-mode
Attribut steuert, wie der Stil vor und nach der Ausführung der Animation angewendet wird. none
forwards
backwards
Werte stellen sicher, dass nach Abschluss der Animation der im letzten Keyframe der Animation definierte Stil auf dem Element bleibt, anstatt wieder in den ursprünglichen Stil zu werden. both
forwards
Der Wert backwards
und both
forwards
Fast alle Front-End-Entwickler haben CSS Keyframe-basierte Animationen verwendet. Einige Menschen können sogar einige komplexe Demonstrationen und Experimente mit dieser Funktion erzeugen. backwards
Dies ist die einzige animationsbasierte Eigenschaft, die nicht leicht zu verstehen ist. Zum Beispiel wird niemand über
, animation-fill-mode
usw. verwirrt, aber was genau bedeutet "Füllmodus"? Lassen Sie uns kurz darüber nachdenken und einige Beispiele geben.
animation-name
animation-duration
Grammatik
Sie wissen möglicherweise bereits, dass grundlegende Keyframe -Animationen mithilfe der fill-mode
-Regel definiert werden. Wenn Sie jedoch den Keyframe nicht mit dem Animationsnamen verknüpfen, funktioniert der Keyframe nicht. Dies ist eine abgekürzte Animationsattributerklärung. Sie können verstehen, was ich meine:
Natürlich kann die Abkürzung derselben Linie auf: @keyframes
erweitert werden
.example { animation: myAnim 2s 500ms 2 normal ease-in forwards; }
-Merkmal zuletzt definiert, und in beiden Fällen wird der Wert auf "
" gesetzt. Wir müssen es am Ende nicht definieren, aber dies kann eine gute Praxis sein..example { animation-name: myAnim; animation-duration: 2s; animation-delay: 500ms; animation-iteration-count: 2; animation-direction: normal; animation-timing-function: ease-in; animation-fill-mode: forwards; }
In ähnlicher Weise können Sie möglicherweise herausfinden, was alles in der obigen Anweisung in der obigen Anweisung ist, auch wenn Sie CSS-Animationen noch nie verwendet haben. animation-fill-mode
Die normative Definition von forwards
animation-fill-mode
Wie sagt die Spezifikation zu diesem Attribut aus?
Das Attribut fill-mode
definiert, welche Werte außerhalb der Animationsausführungszeit angewendet werden.
Wie es weiter erklärt, bezieht sich die Zeit "Außenausführungszeit" ausdrücklich auf die Zeit zwischen der Zeit, in der die Animation auf ein Element angewendet wird, und der Zeit, in der das Element tatsächlich zu einer Animation beginnt. Wenn Sie den Wert fill-mode
verwenden, können Sie im Grunde genommen definieren, wie das Animationselement außerhalb der Ausführungszeit der Animation aussieht, aber nachdem die Animation angewendet wurde. Es mag verwirrend klingen, aber Sie werden bald verstehen, was ich meine.
Lassen Sie uns diese grundlegende Definition erweitern, indem Sie jeden möglichen Wert betrachten (der möglicherweise noch etwas verwirrend ist).
Zersetzungswert
Das Attribut animation-fill-mode
kann einen von vier Werten akzeptieren: none
, forwards
, backwards
oder both
. Hier ist eine Aufschlüsselung jedes Wertes.
none
Dies ist der anfängliche oder Standardwert von animation-fill-mode
. Das Definieren des none
-Werges ist überflüssig, es sei denn, Sie setzen ihn durch JavaScript ein, um ihn aus anderen Werten zu ändern, oder Sie überschreiben etwas im Kaskadieren.
, um zu verstehen, was der Wert none
Wert ist, hier ist eine Codepen -Demonstration, die eine Animation ohne animation-fill-mode
zeigt (so ist sein Wert none
):
[Codepen -Demo -Link (Bitte ersetzen Sie ihn durch den tatsächlichen Link)]
Sie können sehen, dass in den meisten Fällen der Füllmodus von none
nicht das ist, was Sie wollen. Denken Sie daran, dass fill-mode
definiert, wie ein Element außerhalb der Animationsausführungszeit aussieht.
In diesem Beispiel ist der Ball anfangs rot und wird dann nach und nach rosa, während sie nach rechts bewegt und gleichzeitig die Größe ändert. Es wäre besser, wenn der Ball klein, rosa und gleich nach dem Ende der Animation bleibt. Dies verhindert, dass der hässliche Sprung in den Startzustand nach Ablauf der Animation zurück in den Startzustand springt.
forwards
Lassen Sie uns die Animation des Balls in fill-mode
den Wert "forwards
":
[Codepen -Demo -Link (Bitte ersetzen Sie ihn durch den tatsächlichen Link)]
animation-fill-mode
Jetzt können Sie die Vorteile der Verwendung von forwards
sehen und warum der Wert
backwards
Wert:
backwards
ändern wir den Wert in
[Codepen -Demo -Link (Bitte ersetzen Sie ihn durch den tatsächlichen Link)]
animation-fill-mode
Beachten Sie, dass das Verhalten in dieser Demo genau das gleiche ist wie die erste Demo mit einem none
-Werte von "
forwards
Im Gegensatz zu backwards
verleiht der Wert backwards
dem Element seinen Stil, bevor die Animation nach dem Ende der Animation beginnt. Dies ist sinnvoller, wenn wir die Beschreibung des
Um dies zu demonstrieren, habe ich zwei Änderungen an der Demonstration vorgenommen:Während des durch
animation-delay
definierten Zeitraums wendet die Animation den im Keyframe definierten Attributwert an, in dem die erste Iteration der Animation eingeleitet wird. Dies sind die Werte des Keyframefrom
oder die Werte des Keyframe.to
from
animation-delay
[Codepen -Demo -Link (Bitte ersetzen Sie ihn durch den tatsächlichen Link)]
Jetzt können Sie sehen, dass der Ball blau wird. Dies liegt an der offensichtlichen Verzögerung. Technisch gesehen hat jede Animation eine Standardverzögerung, aber die Verzögerung beträgt 0S. Und du wirst es auch nicht sehen. Wenn Sie den gleichen Stil und die gleiche Verzögerung verwenden, wird der Ball, der den Ball rot bleibt, vor Beginn der Animation rot bleibt.
backwards
Um ehrlich zu sein, habe ich nicht wirklich viele praktische Verwendungen des backwards
-Wergentums gesehen. Es ist kaum vorstellbar, dass in zu vielen Fällen der Stil im ersten Keyframe einer Animation vom statischen Zustand vor der Elementanimation unterscheidet. Aber wenn Sie irgendwelche Ideen haben, würde ich gerne einige Anwendungsfälle hören.
Wert: backwards
both
. Dieser Wert fordert den Browser an, den Effekt von anzuwenden. both
forwards
Lassen Sie uns den gleichen Stil in der Demo beibehalten und sehen, was passiert, wenn wir ihn dem backwards
-Werchen zuweisen:
[Codepen -Demo -Link (Bitte ersetzen Sie ihn durch den tatsächlichen Link)] both
, wenn es nicht die Verzögerung und die alternativen Farben im ersten Keyframe gegeben hätte.
forwards
Einige Vorsichtsmaßnahmen und Tipps
basierend auf dem obigen Inhalt und einigen Details in der Spezifikation sind Folgendes zu beachten:
backwards
und both
etwas minimiert habe, können diese Werte in komplexen Animationen, die von Skripten oder Benutzereingaben gesteuert werden, nützlich sein. Anwendungsfälle werden im Überfluss vorhanden (denken Sie: Spiele), jedoch nur durch Experimente und Innovation. animation-direction
auf reverse
eingestellt ist, werden die Auswirkungen der Werte forwards
und backwards
umgekehrt. Wenn Sie mit der Demo herumspielen, werden Sie sehen, wie es funktioniert. animation-fill-mode
akzeptiert nur vier Werte, denken Sie daran, dass Sie auch CSS -Bereichsattributwerte verwenden können. animation-fill-mode
nicht Teil der Eigenschaften der Abkürzungsanimation, aber es scheint, dass alle Browser, die Keyframes unterstützen, sie für die Abkürzung verwenden können. fill-mode
-Werwert übereinstimmen (z. Abkürzungserklärung unter der Annahme, dass der Name tatsächlich ein reverse
-Werte ist. forwards
fill-mode
Ich hoffe, diese Zusammenfassung wird Ihnen helfen, diese Eigenschaft besser zu verstehen. Einige Nachforschungen haben mir wirklich geholfen, es besser zu verstehen. Wenn Sie etwas Einzigartiges über
getan haben oder eindeutige Anwendungsfälle für verschiedene Werte haben oder Korrekturen in diesem Artikel haben, teilen Sie uns dies bitte in der Diskussion mit.
animation-fill-mode
CSS
Was bedeutet Attribute?animation-fill-mode
CSS , animation-fill-mode
, none
und forwards
. Jeder Wert bestimmt, wie sich die Animation auf die Elemente in verschiedenen Phasen auswirkt, wodurch Entwickler eine größere Kontrolle über die Animation erhalten. backwards
Wie funktioniert der Wert both
in
animation-fill-mode
Der Wert forwards
css
animation-fill-mode
Können Sie den Wert von forwards
in
animation-fill-mode
CSS backwards
Wert in der Eigenschaft Was bedeutet der Wert von
animation-fill-mode
both
? im Attribut animation-fill-mode
CSS both
kombiniert die Effekte von forwards
und backwards
. Dies bedeutet, den Stil des ersten Keyframe vor Beginn der Animation anzuwenden und den Stil des letzten Keyframe nach dem Ende der Animation beizubehalten.
animation-fill-mode
auf none
gesetzt ist? Wenn die CSS animation-fill-mode
-Sache auf none
eingestellt ist, wendet die Animation vor oder nach dem Beginn kein Stil auf das Element an. Elemente werden nur durch Animation während des aktiven Betriebs der Animation beeinflusst.
animation-fill-mode
verwenden? Nein, CSS animation-fill-mode
Attribut kann jeweils nur einen Wert annehmen. Sie können aus none
, forwards
, backwards
oder both
gemäß den spezifischen Anforderungen der Animation auswählen.
animation-fill-mode
Attribute? CSS animation-fill-mode
Eigenschaften werden in allen modernen Browsern, einschließlich Chrom, Firefox, Safari und Rand, häufig unterstützt. Es wird jedoch im Internet Explorer nicht unterstützt.
animation-fill-mode
Wie interagieren Attribute mit animation-delay
Attributen? CSS animation-fill-mode
Eigenschaften funktionieren mit animation-delay
Eigenschaften. Wenn animation-fill-mode
auf backwards
oder both
eingestellt ist und animation-delay
vorhanden ist, wird der Stil des ersten Keyframe während der Verzögerung angewendet.
animation-fill-mode
Können Attribute mit Keyframes mit prozentualen Werten verwendet werden? Ja, das CSS animation-fill-mode
-TRUTS kann mit Keyframes mit prozentualen Werten verwendet werden. Die Werte forwards
und backwards
wenden den Stil der nächsten 0% bzw. 100% der Keyframes an.
animation-fill-mode
Was ist der Standardwert des Attributs? CSS animation-fill-mode
lautet none
. Dies bedeutet, dass die Animation standardmäßig vor oder nach dem Start keinen Stil auf das Element anwendet.
Bitte beachten Sie, dass ich den Codepen -Link durch einen Platzhalter ersetzt habe. Sie müssen einen tatsächlichen Codepen -Demo -Link angeben, um den Artikel vollständig zu machen.
Das obige ist der detaillierte Inhalt vonVerständnis der CSS-Animations-Fill-Mode-Eigenschaft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!