Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Element.animate(), KeyframeEffect() und KeyframeEffect.setKeyframes() akzeptieren alle Objekte, die formatiert sind, um eine Reihe von Keyframes darzustellen. Es gibt mehrere Optionen für dieses Format, die unten erläutert werden.
Es gibt zwei verschiedene Arten, Keyframes zu formatieren:
Ein array von Objekten (Keyframes), die aus Eigenschaften und Werten bestehen, die durchlaufen werden sollen. Dies ist das kanonische Format, das von der Methode getKeyframes() zurückgegeben wird.
Offsets für jedes Keyframe können angegeben werden, indem ein offset-Wert bereitgestellt wird.
Hinweis:>offset-Werte, falls angegeben, müssen zwischen 0,0 und 1,0 (einschließlich) liegen und in aufsteigender Reihenfolge angeordnet sein.
Es ist nicht notwendig, für jedes Keyframe einen Offset anzugeben. Keyframes ohne einen angegebenen Offset werden gleichmäßig zwischen den angrenzenden Keyframes verteilt.
Das Easing, das zwischen den Keyframes angewendet werden soll, kann durch Angabe eines easing-Wertes wie unten illustriert angegeben werden.
In diesem Beispiel wird das angegebene Easing nur vom Keyframe, bei dem es angegeben ist, bis zum nächsten Keyframe angewendet. Jeder easing-Wert, der in den options-Argumenten angegeben ist, wird jedoch über eine einzige Iteration der Animation angewendet — für die gesamte Dauer.
Ein object, das Schlüssel-Wert-Paare enthält, die die Eigenschaft zu animieren und ein array von Werten, die durchlaufen werden sollen, enthalten.
Bei Verwendung dieses Formats muss die Anzahl der Elemente in jedem Array nicht gleich sein. Die bereitgestellten Werte werden unabhängig verteilt.
Die speziellen Schlüssel offset, easing und composite (wie unten beschrieben) können neben den Eigenschaftswerten angegeben werden.
Nachdem ein geeignetes Set von Keyframes aus den Eigenschaftswertlisten generiert wurde, wird jeder bereitgestellte Offset auf das entsprechende Keyframe angewendet. Wenn es unzureichende Werte gibt oder die Liste null-Werte enthält, werden die Keyframes ohne angegebene Offsets gleichmäßig wie im oben beschriebenen Array-Format verteilt.
Wenn es zu wenige easing- oder composite-Werte gibt, wird die entsprechende Liste nach Bedarf wiederholt.
Der Browser kann den Start- oder Endzustand einer Animation durch den aktuellen Zustand erschließen. Standardmäßig, wenn ein einzelnes Keyframe bereitgestellt wird, wird es als Endzustand behandelt, und der Startzustand wird aus dem aktuellen berechneten Stil des Elements abgeleitet. Sie können jedoch das offset angeben, um anzuzeigen, wo das bereitgestellte Keyframe in der Animationszeitachse platziert werden soll. Weitere Informationen finden Sie unter Element.animate().
Keyframes spezifizieren Eigenschaft-Wert-Paare der zu animierenden CSS-Eigenschaften. Die Eigenschaftsnamen werden im camel case angegeben, sodass z.B. background-color zu backgroundColor und background-position-x zu backgroundPositionX wird. Auch Kurznotationen wie margin sind erlaubt.
Zwei außergewöhnliche CSS-Eigenschaften sind:
Die folgenden speziellen Attribute können ebenfalls angegeben werden:
offsetDer Offset des Keyframes, angegeben als Zahl zwischen 0.0 und 1.0 einschließlich oder null. Dies entspricht dem Angeben von Start- und Endzuständen in Prozentangaben in CSS-Stylesheets mithilfe von @keyframes. Wenn dieser Wert null ist oder fehlt, wird das Keyframe gleichmäßig zwischen den angrenzenden Keyframes verteilt.
easingDie Easing-Funktion, die von diesem Keyframe bis zum nächsten Keyframe in der Serie verwendet wird.
compositeDie KeyframeEffect.composite-Operation, die verwendet wird, um die in diesem Keyframe angegebenen Werte mit dem zugrunde liegenden Wert zu kombinieren. Dies ist auto, wenn die auf dem Effekt angegebene Kompositionsoperation verwendet wird.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.