CSS Scroll Snap
Das Modul CSS Scroll Snap bietet Eigenschaften, mit denen Sie das Verhalten beim Ausrichten und Scrollen durch die Definition von Snap-Positionen steuern können. Der Inhalt kann automatisch in Position gebracht werden, wenn der Benutzer überfüllte Inhalte innerhalb eines Scroll-Containers scrollt, um Paging und Scroll-Positionierung zu bieten.
Dieses Modul umfasst die Eigenschaften scroll-padding
des Scroll-Containers, um den optimalen Anzeigebereich beim Hin-Scrollen anzupassen. Es beinhaltet auch scroll-margin
und scroll-alignment
, die auf die Kinder des Scroll-Containers angewendet werden, um den visuellen Bereich der Kinder anzupassen, wenn dieses Kind in den Sichtbereich gescrollt wird, sowie eine Eigenschaft, um das Scrollen an einzelnen Kindern zu stoppen.
Scroll Snap in Aktion
Um das Scroll-Snapping im untenstehenden Feld zu sehen, scrollen Sie durch das Raster aus 45 nummerierten Feldern im scrollbaren Ansichtsbereich nach oben und unten sowie nach links und rechts. Klicken Sie auf "Abspielen" im folgenden Beispiel, um den Quellcode im MDN Playground anzuzeigen oder zu bearbeiten:
Mit Scroll Snap wird eines der nummerierten Felder, zu dem Sie scrollen, in seiner Position einrasten. Das initiale CSS lässt das nummerierte Feld in die Mitte des Ansichtsbereichs einrasten. Verwenden Sie die Schieberegler, um die Block- und Inline-Snap-Positionen zu ändern.
Durch die Verwendung von Snap-Eigenschaften können Sie das Scrollen über ein Element, in diesem Fall ein nummeriertes Feld, zulassen oder blockieren. Wählen Sie das Kontrollkästchen "Scrollen über Felder verhindern" aus, um alle Scroll-Aktionen auf das Scrollen zu einem angrenzenden Feld zu beschränken.
Um das Scroll-Snapping mit normalem Scrollen zu vergleichen, aktivieren Sie das Kontrollkästchen "Snapping deaktivieren" und versuchen Sie erneut zu scrollen.
Referenz
Eigenschaften auf Containern
Eigenschaften auf Kindern
Events
scrollsnapchange
Experimentellscrollsnapchanging
Experimentell
Schnittstellen
SnapEvent
ExperimentellSnapEvent.snapTargetBlock
ExperimentellSnapEvent.snapTargetInline
Experimentell
Leitfäden
- Grundlegende Konzepte von CSS Scroll Snap
-
Ein Überblick und Beispiele zu CSS Scroll Snap-Funktionen.
- Verwendung von Scroll Snap-Ereignissen
-
Eine Anleitung zur Verwendung der Scroll Snap-Ereignisse
scrollsnapchanging
undscrollsnapchange
, die ausgelöst werden, wenn der Browser feststellt, dass ein neues Snap-Ziel ansteht oder ausgewählt wurde.
Verwandte Konzepte
:target
Pseudo-Klasseoverflow
CSS-Eigenschaft- Element
scroll()
Methode - Element
scrollBy()
Methode - Element
scrollIntoView()
Methode - Element
scrollTo()
Methode - Element
scroll
Ereignis - Element
scrollend
Ereignis scrollbar
ARIA-Rolle- Scroll-Container Glossareintrag
Spezifikationen
Specification |
---|
CSS Scroll Snap Module Level 1 |
CSS Scroll Snap Module Level 2 |
Siehe auch
- CSS Overflow Modul
- CSS Scrollbar-Styling Modul
- CSS Scroll Anchoring Modul
- Tastaturbasiertes Scrollen auf adrianroselli.com (2022)
- Scroll Snap Beispiele auf CodePen (2022)
- Gut kontrolliertes Scrollen mit CSS Scroll Snap auf web.dev (2021)
- Praktische CSS Scroll Snapping auf CSS-Tricks (2020)
- CSS Scroll Snap auf 12 Days of Web (2019)