InteractivityScroll Snap Align

Scroll Snap Align

Controls where the scroll snaps to align with an element.

ClassStyle
ssa-cscroll-snap-align: center;
ssa-escroll-snap-align: end;
ssa-nonescroll-snap-align: none;
ssa-sscroll-snap-align: start;

Center

Ensures that the element will snap to the center of the scroll container when scrolling.

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 rad-1 w-80" id="area"></div>
</div>
<div class="fs-0 p-r ssa-c">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-c">
<div class="h-40 rad-1 w-80" id="area"></div>
</div>
</div>
</div>

End

Ensures that the element will snap to the end of the scroll container when scrolling.

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-e">
<div class="h-40 rad-1 w-80" id="area"></div>
</div>
<div class="fs-0 p-r ssa-e">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-e">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-e">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-e">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-e">
<div class="h-40 rad-1 w-80" id="area"></div>
</div>
</div>
</div>

Start

Ensures that the element will snap to the start of the scroll container when scrolling.

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-s">
<div class="h-40 rad-1 w-80" id="area"></div>
</div>
<div class="fs-0 p-r ssa-s">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-s">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-s">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-s">
<img class="h-40 rad-1 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r ssa-s">
<div class="h-40 rad-1 w-80" id="area"></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.

Using media queries

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

Using hover states

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