InteractivityScroll Snap Stop

Scroll Snap Stop

Controls whether the scroll container passes over possible snap positions.

Widely available

This feature is well established and works across many devices and browser versions.

Chrome
Edge
Firefox
Safari
ClassStyle
sss-ascroll-snap-stop: always;
sss-nscroll-snap-stop: normal;

Normal

Initial value

Allows the scroll to stop at the snap position only when the user scrolls slowly, providing a more flexible scrolling experience.

Try scrolling through the image container to see how it behaves.
<div class="o-h pb-4 p-r">
<div class="d-f g-6 o-x-s pb-4 sst-x-m">
<div class="fs-0 p-r ssa-c">
<div class="h-40 w-80"></div>
</div>
<div class="fs-0 p-r ssa-c sss-n">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-n">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-n">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-n">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-n">
<div class="h-40 w-80"></div>
</div>
</div>
</div>

Always

Ensures that the scroll will always stop at the snap position.

Try scrolling through the image container to see how it behaves.
<div class="o-h pb-4 p-r">
<div class="d-f g-6 o-x-s pb-4 sst-x-m">
<div class="fs-0 p-r ssa-c">
<div class="h-40 w-80"></div>
</div>
<div class="fs-0 p-r ssa-c sss-a">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-a">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-a">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-a">
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c sss-a">
<div class="h-40 w-80"></div>
</div>
</div>
</div>

Using utility variants

Learn how to override existing utilities based on the user's screen size or other factors, such as hover states.

Targeting different viewports

You can combine responsive breakpoints like sm:sns-*, md:sns-*, lg:sns-*, and xxl:sns-* to allow targeting specific utilities in different viewports.

Targeting hover states

Alternatively, you can apply :hover by using h:sns-* utility to override elements and change their values when hovering over them.