InteractivityScroll Margin

Scroll Margin

Control the scroll margin of an element.

Widely available

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

Chrome
Edge
Firefox
Safari

Usage

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

Scroll Margin Top

Try scrolling through the image container to see how it behaves.
<div class="o-h p-r w-fc">
<div class="d-f fd-c g-6 h-96 o-y-auto p-6 sst-y-m">
<div class="fs-0 p-r pt-6 smt-6 ssa-s">
<div class="h-6 l-0 p-a r-0 t-0"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r pt-6 smt-6 ssa-s">
<div class="h-6 l-0 p-a r-0 t-0"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r pt-6 smt-6 ssa-s">
<div class="h-6 l-0 p-a r-0 t-0"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r pt-6 smt-6 ssa-s">
<div class="h-6 l-0 p-a r-0 t-0"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
</div>
</div>

Scroll Margin Right

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

Scroll Margin Bottom

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

Scroll Margin Left

<div class="o-h p-r">
<div class="d-f g-6 o-x-s p-6 sst-x-m">
<div class="fs-0 p-r pl-6 sml-6 ssa-s">
<div class="b-0 l-0 p-a t-0 w-6"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r pl-6 sml-6 ssa-s">
<div class="b-0 l-0 p-a t-0 w-6"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r pl-6 sml-6 ssa-s">
<div class="b-0 l-0 p-a t-0 w-6"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
<div class="fs-0 p-r pl-6 sml-6 ssa-s">
<div class="b-0 l-0 p-a t-0 w-6"></div>
<img class="h-40 w-80" src="/img/coast.jpg" />
</div>
</div>
</div>

Responsive Design

Use breakpoint prefixes to target different screen sizes. Styles apply from the breakpoint & up.

Target viewport sizes with breakpoint prefixes.

sm:sm-[value]
Small640px
md:sm-[value]
Medium768px
lg:sm-[value]
Large1024px
xxl:sm-[value]
Extra Large1536px

Hover State

Apply styles conditionally on hover using the h: prefix.

Add the h: prefix to apply styles only when the user hovers over the element.

Syntax:h:sm-[value]