scroll-padding

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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.

Try it

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 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

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

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

/* Global values */
scroll-padding: inherit;
scroll-padding: initial;
scroll-padding: revert;
scroll-padding: revert-layer;
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 determined 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 valueas each of the properties of the shorthand:
Applies toscroll containers
Inheritedno
Percentagesrelative to the scroll container's scrollport
Computed valueas each of the properties of the shorthand:
Animation typeby computed value type

Formal syntax

scroll-padding = 
[ auto | <length-percentage [0,∞]> ]{1,4}

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

Specifications

Specification
CSS Scroll Snap Module Level 1
# scroll-padding

Browser compatibility

BCD tables only load in the browser

See also