CSS scroll snap
Das CSS scroll snap-Modul bietet Eigenschaften, mit denen Sie das Schwenk- und Scrollverhalten durch das Definieren von Snap-Positionen steuern können. Inhalte können in Position einrasten, während der Benutzer in einem Scroll-Container überlaufende Inhalte scrollt, wodurch Paging und Scroll-Positionierung bereitgestellt werden.
Dieses Modul umfasst die scroll-padding
-Eigenschaften des Scroll-Containers, um den optimalen Betrachtungsbereich beim Scrollen in die Ansicht anzupassen. Es beinhaltet auch scroll-margin
und scroll-alignment
, die auf die Kinder des Scroll-Containers gesetzt werden, um den visuellen Bereich der Kinder anzupassen, wenn dieses Kind in die Ansicht gescrollt wird, sowie eine Eigenschaft, um das Scrollen auf einzelnen Kindern zu erzwingen.
Scroll Snap in Aktion
Um das Scroll Snap im untenstehenden Kästchen zu sehen, scrollen Sie nach oben und unten sowie von links nach rechts durch das Gitter von 45 nummerierten Kästchen im scrollbaren Viewport. Klicken Sie auf "Play" im untenstehenden Beispiel, um die Quelle im MDN Playground zu sehen oder zu bearbeiten:
Mit Scroll Snap wird eines der nummerierten Kästchen, zu dem Sie scrollen, in Position einrasten. Das anfängliche CSS lässt das nummerierte Kästchen in der Mitte des Viewports einrasten. Verwenden Sie die Slider, um die Block- und Inline-Snap-Positionen zu ändern.
Mit Snap-Eigenschaften können Sie das Scrollen über ein Element blockieren oder zulassen, in diesem Fall ein nummeriertes Kästchen. Wählen Sie das Kontrollkästchen "Verhindern Sie das Scrollen über Kästen", um alle Scroll-Aktionen auf das Scrollen zu einem benachbarten Kasten zu begrenzen.
Um das Scroll Snap mit normalem Scrollen zu vergleichen, aktivieren Sie das Kontrollkästchen "Einrasten deaktivieren" und versuchen Sie erneut zu scrollen.
Referenz
>Eigenschaften auf Containern
Eigenschaften auf Kindern
Ereignisse
scrollsnapchange
Experimentellscrollsnapchanging
Experimentell
Schnittstellen
SnapEvent
ExperimentellSnapEvent.snapTargetBlock
ExperimentellSnapEvent.snapTargetInline
Experimentell
Leitfäden
- Grundlegende Konzepte von CSS scroll snap
-
Ein Überblick und Beispiele zu den Funktionen von CSS scroll snap.
- Verwendung von Scroll-Snap-Ereignissen
-
Ein Leitfaden zur Verwendung der Scroll-Snap-Ereignisse
scrollsnapchanging
undscrollsnapchange
, die ausgelöst werden, wenn der Browser bestimmt, dass ein neues Snap-Ziel ansteht oder ausgewählt ist.
Verwandte Konzepte
:target
Pseudo-Klasseoverflow
CSS-Eigenschaft- Element Methode
scroll()
- Element Methode
scrollBy()
- Element Methode
scrollIntoView()
- Element Methode
scrollTo()
- Element Ereignis
scroll
- Element Ereignis
scrollend
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 Scrollbars Styling Modul
- CSS Scroll Anchoring Modul
- Nur mit der Tastatur scrollbare Bereiche auf adrianroselli.com (2022)
- Scroll Snap Beispiele auf CodePen (2022)
- Gut kontrolliertes Scrollen mit CSS Scroll Snap auf web.dev (2021)
- Praktisches CSS Scroll Snapping auf CSS-Tricks (2020)
- CSS Scroll Snap auf 12 Days of Web (2019)