scroll-snap-align CSS property
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Die scroll-snap-align-Eigenschaft legt die Snap-Position des Kastens als Ausrichtung seines Snap-Bereichs (als Ausrichtungs-Subjekt) innerhalb des Snap-Ports seines Snap-Containers (als Ausrichtungs-Container) fest.
Probieren Sie es aus
scroll-snap-align: start;
scroll-snap-align: end;
scroll-snap-align: center;
<section class="default-example" id="default-example">
<div id="example-parent">
<div>1</div>
<div id="example-element">2</div>
<div>3</div>
</div>
<div class="info">Scroll »</div>
</section>
.default-example {
flex-wrap: wrap;
}
.default-example .info {
width: 100%;
padding: 0.5em 0;
font-size: 90%;
}
#example-parent {
text-align: left;
width: 250px;
height: 250px;
overflow-x: scroll;
display: flex;
box-sizing: border-box;
border: 1px solid black;
scroll-snap-type: x mandatory;
}
#example-parent > div {
flex: 0 0 66%;
width: 250px;
background-color: rebeccapurple;
color: white;
font-size: 30px;
display: flex;
align-items: center;
justify-content: center;
}
#example-parent > div:nth-child(even) {
background-color: white;
color: rebeccapurple;
}
Syntax
/* Single keyword value */
scroll-snap-align: none;
scroll-snap-align: center;
scroll-snap-align: start;
scroll-snap-align: end;
/* Two keyword values */
scroll-snap-align: start end;
scroll-snap-align: end center;
scroll-snap-align: center start;
/* Global values */
scroll-snap-align: inherit;
scroll-snap-align: initial;
scroll-snap-align: revert;
scroll-snap-align: revert-layer;
scroll-snap-align: unset;
Werte
Für die scroll-snap-align-Eigenschaft können ein oder zwei Werte angegeben werden. Wenn ein Wert gesetzt ist, wird er sowohl auf die Block- als auch auf die Inline-Achse angewendet. Wenn zwei Werte gesetzt sind, steuert der erste Wert die Block-Achse und der zweite Wert die Inline-Achse.
none-
Der Kasten definiert keine Snap-Position auf dieser Achse.
start-
Die Anfangsausrichtung des Scroll-Snap-Bereichs dieses Kastens, innerhalb des Snap-Ports des Scroll-Containers, ist eine Snap-Position auf dieser Achse.
end-
Die Endausrichtung des Scroll-Snap-Bereichs dieses Kastens, innerhalb des Snap-Ports des Scroll-Containers, ist eine Snap-Position auf dieser Achse.
center-
Die Zentrumausrichtung des Scroll-Snap-Bereichs dieses Kastens, innerhalb des Snap-Ports des Scroll-Containers, ist eine Snap-Position auf dieser Achse.
Formale Definition
| Anfangswert | none |
|---|---|
| Anwendbar auf | alle Elemente |
| Vererbt | Nein |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Formale Syntax
scroll-snap-align =
[ none | start | end | center ]{1,2}
Spezifikationen
| Spezifikation |
|---|
| CSS Scroll Snap Module Level 1> # scroll-snap-align> |
Browser-Kompatibilität
Siehe auch
scroll-snap-stopscroll-initial-target- CSS scroll snap Modul
- Gut kontrolliertes Scrollen mit CSS scroll snap auf web.dev (2018)