scroll-padding

The scroll-padding shorthand property sets scroll padding on all sides of an element at once, much like the padding property does for padding on an element.

The scroll-padding-* properties define offsets for the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars), or simply to put more breathing room between a targeted element and the edges of the scrollport.

Constituent properties

This property is a shorthand for the following CSS properties:

Syntax

/* Keyword values */
scroll-padding: auto;

/* <length> values */
scroll-padding: 10px;
scroll-padding: 1em .5em 1em 1em;
scroll-padding: 10%;

/* Global values */
scroll-padding: inherit;
scroll-padding: initial;
scroll-padding: unset;

Values

<length-percentage>
An inwards offset from the corresponding edge of the scrollport, as a valid <length> or a <percentage>.
auto
The offset is determind by the user agent. This will generally be 0px, but the user agent is free to detect and do something else if a non-zero value is more appropriate.

Formal definition

Initial valueauto
Applies toscroll containers
Inheritedno
Percentagesrelative to the scroll container's scrollport
Computed valueas specified
Animation typeby computed value type

Formal syntax

[ auto | <length-percentage> ]{1,4}

where
<length-percentage> = <length> | <percentage>

Specifications

Specification Status Comment
CSS Scroll Snap Module Level 1
The definition of 'scroll-padding' in that specification.
Candidate Recommendation Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
scroll-paddingChrome Full support 69Edge Full support 79Firefox Full support 68IE No support NoOpera Full support 56Safari Partial support 11
Notes
Partial support 11
Notes
Notes Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
WebView Android Full support 69Chrome Android Full support 69Firefox Android Full support 68Opera Android Full support 48Safari iOS Partial support 11
Notes
Partial support 11
Notes
Notes Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
Samsung Internet Android Full support 10.0

Legend

Full support
Full support
Partial support
Partial support
No support
No support
See implementation notes.
See implementation notes.