Scrollable

scrollable adds overflow: auto to an element and sets up CSS Scroll Snap for you.


Make components scrollable

Ddd scrollable-horizontal or scrollable-vertical to make an element scrollable with the enhancements we’ve built into scrollable.

index.html
<!-- horizontal scrollable component -->
<div class="scrollable-horizontal"> ... </div>
<!-- vertical scrollable component -->
<div class="scrollable-vertical"> ... </div>
horizontal scrollable
One
Two
Three
Four
Five
Six
Seven
Eight
Nine
Ten
Eleven
vertical scrollable
One
Two
Three
Four
Five
Six
Seven
Eight
Nine
Ten
Eleven

CSS Scroll Snap enabled without extra work

Try scrolling the demo to see it work! Checkout the options in the guide to customize CSS Scroll Snap behaviour.

Scroll and see this snap!
One
Two
Three
Four
Five
Six
Seven
Eight
Nine
Ten
Eleven

Allow users to scroll horizontally without pressing shift

Very few people know you can scroll through horizontal content by pressing shift and scrolling the mouse wheel. It’s a pity if they scrolled past your horizontal content without seeing it.

To counter this, we included a script to convert vertical scroll to horizontal scroll with pretty good finese — this even restores CSS Scroll Snap when the user is done scrolling!

See the guide for more details.

Mouse over this and use your scroll wheel!

One. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Two. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Three. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Four. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Five. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Six. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Seven. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Eight. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Nine. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Ten. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Eleven. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Twelve. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Thirteen. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Fourteen. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Fifteen. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Sixteen. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Seventeen. Lorem ipsum dolor sit amet consectetur adipisicing e
Eighteen. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Nineteen. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Twenty. Lorem ipsum dolor sit amet consectetur adipisicing elit.
Twentyone. Lorem ipsum dolor sit amet consectetur adipisicing elit.

Preserves outlines

Overflow cuts off outlines that extend over an element’s boundaries. We’ve added a small utility that preserves those outlines so your component can still look great.

Before: Outlines are cut off.
After: Outlines are no longer cut off.