Curso gratuito de CSS

Slider — CSS Scroll Snap

sin JavaScript de animación

CSS Scroll Snap
Slider construido con propiedades CSS nativas. El navegador gestiona el snap y la inercia táctil.
Montañas
01 / 05
Montañas alpinas
Playa
02 / 05
Playa tropical
Bosque
03 / 05
Bosque de pinos
Lago
04 / 05
Lago de montaña
Colinas
05 / 05
Colinas al amanecer
/* Contenedor del slider */ .track {   display: flex;   overflow-x: scroll;   scroll-snap-type: x mandatory; /* ← clave */   scroll-behavior: smooth;   scrollbar-width: none; /* ocultar scrollbar */ } /* Cada slide */ .slide {   flex: 0 0 100%; /* ocupa el 100% del track */   scroll-snap-align: start; /* ← se ancla al inicio */ }
¿Cómo funciona? El contenedor tiene overflow-x: scroll y scroll-snap-type: x mandatory. Cada slide tiene flex: 0 0 100% para ocupar todo el ancho, y scroll-snap-align: start para que el navegador lo encaje automáticamente. El swipe táctil funciona de forma nativa sin ningún JS. Solo se usa JS para los botones de flecha (que hacen scrollLeft) y para los dots.