demo ยท v135

Snap-scrolling without per-slide wrappers

The spec-cited carousel use case: each column generated by a multi-column container becomes a scroll-snap target via ::column { scroll-snap-align: start; }. No <div class="slide"> wrappers in the markup — just a paragraph stream that the engine paginates. Scroll the gallery horizontally to feel the snap.

::column: ?

CSS used: .gallery { column-width: 220px; column-fill: auto; height: 260px; scroll-snap-type: x mandatory; } .gallery::column { scroll-snap-align: start; }

the code

.gallery {
  column-width: 220px;
  column-fill: auto;
  scroll-snap-type: x mandatory;
  overflow-x: auto;
  height: 260px;
}
/* every generated column becomes a snap stop */
.gallery::column {
  scroll-snap-align: start;
}

see also