Scroll snap lets you build image carousels, full-page sections, and swipeable galleries using pure CSS scrolling — no JavaScript carousel library, no custom touch event handling.
.carousel {
display: flex;
overflow-x: auto;
scroll-snap-type: x mandatory;
gap: 1rem;
}
.carousel-item {
flex: 0 0 100%;
scroll-snap-align: center;
}
/* Full-page scroll sections */
.sections-container {
height: 100vh;
overflow-y: scroll;
scroll-snap-type: y mandatory;
}
.section {
height: 100vh;
scroll-snap-align: start;
}
Scroll snap uses the browser’s own native scrolling physics, which means it inherits accessible keyboard and touch scrolling behavior for free — something JavaScript carousel libraries have historically struggled to replicate perfectly, especially for keyboard and screen reader users.