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:


/* 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;


An inwards offset from the corresponding edge of the scrollport, as a valid <length> or a <percentage>.
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 value auto
Applies to scroll containers
Inherited no
Percentages relative to the scroll container's scrollport
Computed value as specified
Animation type by computed value type

Formal syntax

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

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


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

Browser compatibilityUpdate compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari
scroll-padding 69 79 68 No 56 11
Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
scroll-padding 69 69 68 48 11
Scroll padding is not applied for scrolls to fragment target or scrollIntoView(), see bug 179379.

© 2005–2020 Mozilla and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.