CSS scrollgesteuerte Animationen
Das Modul für CSS scrollgesteuerte Animationen bietet Funktionalitäten, die auf dem CSS-Animationsmodul und der Web Animations API aufbauen. Es ermöglicht Ihnen, Eigenschaftswerte basierend auf einem Fortschritt entlang einer scrollbasierten Zeitleiste zu animieren, anstatt der standardmäßigen zeitbasierten Dokumentenzeitleiste. Das bedeutet, dass Sie ein Element durch das Scrollen eines scrollbaren Elements animieren können, anstatt nur durch den Zeitverlauf.
Es gibt zwei Arten von scrollbasierten Zeitleisten:
- Scroll-Fortschrittszeitleiste: Diese Zeitleiste wird fortschreiten, indem ein scrollbares Element (Scroller) von oben nach unten (oder von links nach rechts) und wieder zurück gescrollt wird. Die Position im Scrollbereich wird in einen prozentualen Fortschritt umgerechnet — 0% am Anfang und 100% am Ende.
- Sichtbarkeits-Fortschrittszeitleiste: Diese Zeitleiste schreitet auf Basis der Veränderung der Sichtbarkeit eines Elements (bekannt als Subjekt) innerhalb eines Scrollers fort. Die Sichtbarkeit des Subjekts innerhalb des Scrollers wird als prozentualer Fortschritt verfolgt — standardmäßig ist die Zeitleiste bei 0%, wenn das Subjekt am einen Rand des Scrollers erstmals sichtbar ist, und bei 100%, wenn es den gegenüberliegenden Rand erreicht.
Wenn eine dieser beiden Zeitleisten auf ein animiertes Element angewendet wird, schreitet die Animation entlang dieser Zeitleiste voran, anstatt der standardmäßigen zeitbasierten Zeitleiste zu folgen.
Es ist möglich, die effektive Platzierung der Animation entlang der Scroll-Fortschritts- und Sichtbarkeits-Fortschrittszeitleisten anzupassen, d.h. Sie können die Position definieren, an der die Animation beginnt und endet. Dies kann auf verschiedene Weise erfolgen:
- Start- und Endwerte des Animationsbereichs können auf die Animation angewendet werden, um die Position des Start- und Endpunkts der Animation entlang der Zeitleiste anzupassen.
- Sichtbarkeits-Fortschrittszeitleisten können einen Start- und/oder Endeinschnitt (oder Austritt) erhalten, um die Position des Scrollports anzupassen (siehe Scrollcontainer für weitere Details), in dem das Subjektelement als sichtbar angesehen wird. Anders ausgedrückt, dies ermöglicht es Ihnen, Start- und/oder Endeinschnittswerte (oder Austrittswerte) anzugeben, die die Position der Zeitleiste selbst verschieben.
Scrollgesteuerte Animationen in Aktion
Sie finden mehrere Werkzeuge und Demos, die scrollgesteuerte Animationen in Aktion zeigen, unter Scroll-driven Animations tools and demos.
Referenz
Eigenschaften
Setzen Sie die Zeitleiste, die den Fortschritt einer Animation steuern wird, und setzen Sie deren Befestigungsbereich entlang dieser Zeitleiste fest:
Definieren Sie benannte Scroll-Fortschrittszeitleisten:
Definieren Sie benannte Sichtbarkeits-Fortschrittszeitleisten:
Ändern Sie den Geltungsbereich der Zeitleiste:
At-Rules
CSS scrollgesteuerte Animationen fügen die Fähigkeit hinzu, <timeline-range-name>
s in @keyframes
Blöcken einzuschließen, um Schlüsselbilder an spezifischen Positionen innerhalb benannter Zeitleistenbereiche zu platzieren.
Funktionen
Mögliche Werte der Eigenschaft animation-timeline
zum Definieren von anonymen Scroll-Fortschrittszeitleisten und anonymen Sichtbarkeits-Fortschrittszeitleisten (d.h. implizit durch den Browser definiert, anstatt explizit benannt und durch die scroll-timeline-*
und view-timeline-*
Eigenschaften definiert):
Schnittstellen
Spezifikationen
Specification |
---|
Scroll-driven Animations |
CSS Animations Level 2 |
Web Animations Level 2 |
Siehe auch
- Animate elements on scroll with Scroll-driven animations auf developer.chrome.com
- CSS-Animationen
- Web Animations API