Heim >Web-Frontend >CSS-Tutorial >Frame By Frame Animation Tutorial mit CSS und JavaScript
Dieses Tutorial untersucht verschiedene Methoden zum Erstellen von reibungslosen, leistungsfähigen und wartbaren Frame-by-Frame-Animationen mithilfe von HTML, CSS und JavaScript. Wir werden eine blinkende Augenanimation aufbauen und unseren Ansatz schrittweise verfeinern, um optimale Ergebnisse in Browsern und Geräten zu erzielen.
Schlüsselkonzepte:
translate3d
Frame-by-Frame-Animation, wie von Adobe definiert, beinhaltet die Änderung des Bühneninhalts in jedem Frame. Es ist ideal für komplexe Animationen, bei denen jeder Frame einzigartig ist. Im Wesentlichen erzeugt eine Folge von Bildern die Illusion der Bewegung.
Dieses Tutorial verwendet SVG -Bilder für ihre Skalierbarkeit. Alternativen wie PNG, JPEG und GIF werden später diskutiert. Wir werden jQuery verwenden und annehmen, dass Autoprefixer konfiguriert ist.
Methoden:
Diese einfache Methode beinhaltet dynamisch das -Regel eines -Elements. src
wird für eine glattere Animation verwendet, aber das Bildvorladen ist entscheidend, um anfängliche Jank zu verhindern. Das Vorladen wird erreicht, indem versteckte Divs mit den Bildern als Hintergrundbilder angehängt werden. <img alt="Frame By Frame Animation Tutorial mit CSS und JavaScript" >
requestAnimationFrame
Dieser Ansatz vermeidet Repaints, indem sie die Bildendeckigkeit anstelle der Quelle ändern. Alle Bilder werden vorinstalliert und verbessert die Leistung, müssen aber immer noch mehrere Bildlasten erfordern.
Hierbei wird ein CSS -Sprite -Blatt verwendet - ein einzelnes Bild, das alle Animationsrahmen enthält. CSS -Animationen ändern die , um die Animation zu erstellen.
Sprite mit Transformation bewegen: Dies optimiert die Methode 3 durch Verwendung transform: translateX
anstelle von background-position
. Dies minimiert Repainten und Reflexe. Für ältere IE -Versionen ist ein Fallback erforderlich, die prozentuale Werte in translateX
Animationen nicht unterstützen. transform: translate3d(0, 0, 0)
wird zur Hardwarebeschleunigung verwendet.
Inline SVG: SVG inline, anstatt externe Dateien zu verwenden, kann die Anfangsseitenladezeit verbessern, insbesondere für Seiten mit niedrigen Wiederholungswahrscheinlichkeiten.
Leistungsvergleich: Leistungstests (z. B. mit JSPERF) zeigen, dass die Sprite-Transform-Methode (Methode 4) im Allgemeinen die beste Rendering-Leistung bietet.
Alternativen:
Schlussfolgerung:
Die beste Methode hängt von den Projektanforderungen ab. Priorisieren Sie die SVG für Skalierbarkeit, verwenden Sie Transformationseigenschaften für die Leistung und berücksichtigen Sie Sprites für optimale anfängliche Lastzeiten. Wählen Sie den Ansatz aus, der die Leistung, Wartbarkeit und die Vertrautheit des Entwicklers am besten ausgleichen.
(Die Bild -URLs wurden nicht in die Ausgabe enthalten, da sie nicht in einem leicht verwendbaren Format bereitgestellt wurden. Ersetzen Sie die Platzhalter durch Ihre tatsächlichen Bild -URLs.)
Das obige ist der detaillierte Inhalt vonFrame By Frame Animation Tutorial mit CSS und JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!