Scroll Margin
Set the scroll margin for snapping & alignment.
Widely available
This feature is well established and works across many devices and browser versions.
Chrome
Edge
Firefox
Safari
sm-0scroll-margin: 0;sm-1scroll-margin: .25rem;sm-2scroll-margin: .5rem;sm-3scroll-margin: .75rem;sm-4scroll-margin: 1rem;sm-5scroll-margin: 1.25rem;sm-6scroll-margin: 1.5rem;sm-7scroll-margin: 1.75rem;sm-8scroll-margin: 2rem;sm-9scroll-margin: 2.25rem;sm-10scroll-margin: 2.5rem;sm-11scroll-margin: 2.75rem;sm-12scroll-margin: 3rem;sm-13scroll-margin: 3.25rem;sm-14scroll-margin: 3.5rem;sm-15scroll-margin: 3.75rem;sm-16scroll-margin: 4rem;sm-17scroll-margin: 4.25rem;sm-18scroll-margin: 4.5rem;sm-19scroll-margin: 4.75rem;sm-20scroll-margin: 5rem;sm-21scroll-margin: 5.25rem;sm-22scroll-margin: 5.5rem;sm-23scroll-margin: 5.75rem;sm-24scroll-margin: 6rem;sm-25scroll-margin: 6.25rem;sm-26scroll-margin: 6.5rem;sm-27scroll-margin: 6.75rem;sm-28scroll-margin: 7rem;sm-29scroll-margin: 7.25rem;sm-30scroll-margin: 7.5rem;sm-31scroll-margin: 7.75rem;sm-32scroll-margin: 8rem;sm-33scroll-margin: 8.25rem;sm-34scroll-margin: 8.5rem;sm-35scroll-margin: 8.75rem;sm-36scroll-margin: 9rem;sm-37scroll-margin: 9.25rem;sm-38scroll-margin: 9.5rem;sm-39scroll-margin: 9.75rem;sm-40scroll-margin: 10rem;sm-41scroll-margin: 10.25rem;sm-42scroll-margin: 10.5rem;sm-43scroll-margin: 10.75rem;sm-44scroll-margin: 11rem;sm-45scroll-margin: 11.25rem;sm-46scroll-margin: 11.5rem;sm-47scroll-margin: 11.75rem;sm-48scroll-margin: 12rem;sm-49scroll-margin: 12.25rem;sm-50scroll-margin: 12.5rem;sm-51scroll-margin: 12.75rem;sm-52scroll-margin: 13rem;sm-53scroll-margin: 13.25rem;sm-54scroll-margin: 13.5rem;sm-55scroll-margin: 13.75rem;sm-56scroll-margin: 14rem;sm-57scroll-margin: 14.25rem;sm-58scroll-margin: 14.5rem;sm-59scroll-margin: 14.75rem;sm-60scroll-margin: 15rem;sm-61scroll-margin: 15.25rem;sm-62scroll-margin: 15.5rem;sm-63scroll-margin: 15.75rem;sm-64scroll-margin: 16rem;sm-65scroll-margin: 16.25rem;sm-66scroll-margin: 16.5rem;sm-67scroll-margin: 16.75rem;sm-68scroll-margin: 17rem;sm-69scroll-margin: 17.25rem;sm-70scroll-margin: 17.5rem;sm-71scroll-margin: 17.75rem;sm-72scroll-margin: 18rem;sm-73scroll-margin: 18.25rem;sm-74scroll-margin: 18.5rem;sm-75scroll-margin: 18.75rem;sm-76scroll-margin: 19rem;sm-77scroll-margin: 19.25rem;sm-78scroll-margin: 19.5rem;sm-79scroll-margin: 19.75rem;sm-80scroll-margin: 20rem;sm-81scroll-margin: 20.25rem;sm-82scroll-margin: 20.5rem;sm-83scroll-margin: 20.75rem;sm-84scroll-margin: 21rem;sm-85scroll-margin: 21.25rem;sm-86scroll-margin: 21.5rem;sm-87scroll-margin: 21.75rem;sm-88scroll-margin: 22rem;sm-89scroll-margin: 22.25rem;sm-90scroll-margin: 22.5rem;sm-91scroll-margin: 22.75rem;sm-92scroll-margin: 23rem;sm-93scroll-margin: 23.25rem;sm-94scroll-margin: 23.5rem;sm-95scroll-margin: 23.75rem;sm-96scroll-margin: 24rem;sm-97scroll-margin: 24.25rem;sm-98scroll-margin: 24.5rem;sm-99scroll-margin: 24.75rem;sm-100scroll-margin: 25rem;sm-autoscroll-margin: auto;sm-pxscroll-margin: 1px;Responsiveness
Use breakpoint prefixes to target different screen sizes. Styles apply from the breakpoint & up.
Target viewport sizes with breakpoint prefixes.
sm:sm-*Small≥640px
md:sm-*Medium≥768px
lg:sm-*Large≥1024px
xxl:sm-*Extra Large≥1536px
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-*Negative Values
Use negative variants to apply negative scroll margins.
Use the -- syntax to apply negative numeric values.
Syntax:
sm--*