CSS scroll-snap-type Property
Sets how snap points are enforced on a scroll container
Syntax
scroll-snap-type: none | x | y | block | inline | both [mandatory | proximity];Values
| Value | Description |
|---|---|
| none | No snap points (default) |
| x mandatory | Horizontal mandatory snapping |
| y proximity | Vertical proximity snapping |
| both mandatory | Both axes mandatory |
Example
.carousel {
overflow-x: auto;
scroll-snap-type: x mandatory;
display: flex;
gap: 1rem;
}
.slide {
scroll-snap-align: start;
flex-shrink: 0;
}Understanding CSS scroll-snap-type
The CSS scroll-snap-type property sets how snap points are enforced on a scroll container. As part of the Scroll module in CSS, it is one of the most commonly used properties for controlling the visual presentation of web pages.
You can set scroll-snap-type to values such as none, x mandatory, y proximity, both mandatory, among others. Each value changes how the browser renders the affected element, giving you fine-grained control over your page layout and design. Choosing the right value depends on the specific design requirements of your project.
Common use cases for the scroll-snap-type property include responsive web design, component-based layouts, and creating visually consistent interfaces across devices. It works closely with related properties like scroll-snap-align, scroll-padding, overflow to achieve complex styling effects. Understanding how these properties interact helps you write cleaner, more maintainable stylesheets.
Browser support for scroll-snap-type is excellent across all modern browsers including Chrome, Firefox, Safari, and Edge. For older browsers, consider using fallback values or progressive enhancement strategies. The property can also be set dynamically via JavaScript using element.style.scrollSnapType or the CSS custom properties (variables) approach for theming.
Related Properties
scroll-snap-alignSpecifies the snap alignment of an element within its scroll container
scroll-paddingSets the scroll padding on the scroll container adjusting the snap viewport
overflowControls what happens to content that overflows an element's box
scroll-behaviorSpecifies whether scrolling should animate smoothly or jump instantly
Explore More CSS Properties
Browse our complete reference of 251 CSS properties with syntax, examples, and tips.