CSS scroll-snap-align Property
Description
The scroll-snap-align
CSS property is used to control the alignment of scroll snap points within a scroll container. Scroll snap points are specific positions within a container that control where the container stops when scrolling, creating a smooth and predictable scrolling experience. By applying scroll-snap-align to elements within a scroll container, you can specify how those elements should align with the container's snap points, ensuring that they appear in the desired position when the container is scrolled. This property accepts values like "start," "center," and "end," allowing developers to control the alignment behavior to optimize the user experience in scrollable interfaces.
- Initial value
- none
- Applies to
- all elements
- Inherited
- no
- Computed value
- as specified
- Animatable
- discrete
- JavaScript syntax
- object.style.scrollSnapAlign
Interactive Demo
Syntax
scroll-snap-align: [ none | start | end | center ]{1,2}
Values
- noneThe box does not define a snap position in that axis.
- startThe start alignment of this box's scroll snap area, within the scroll container's snapport is a snap position in this axis.
- endThe end alignment of this box's scroll snap area, within the scroll container's snapport is a snap position in this axis.
- centerThe center alignment of this box's scroll snap area, within the scroll container's snapport is a snap position in this axis.
Example
<div id="container">
<div class="blue"></div>
<div class="green"></div>
<div class="blue"></div>
<div class="green"></div>
<div class="blue"></div>
<div class="green"></div>
<div class="blue"></div>
</div>
#container {
width: 80%;
aspect-ratio: 2/1;
margin: auto;
border: solid black 2px;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
scroll-snap-type: x mandatory;
}
.blue {
background-color: lightblue;
height: 95%;
aspect-ratio: 1/2;
}
.green {
background-color: lightgreen;
height: 50%;
aspect-ratio: 2/1;
}
.blue, .green {
display: inline-block;
margin: 5px;
scroll-snap-align: center;
}
Browser Support
The following table will show you the current browser support for the CSS scroll-snap-align
property.
Desktop | |||||
79 | 69 | 68 | 56 | 11 |
Tablets / Mobile | |||||
69 | 68 | 48 | 11 | 10 | 69 |
Last updated by CSSPortal on: 3rd January 2024