The scroll-padding-block-start property insets the scrollport at the block-start edge. Snap and scroll targets stop inside that inset instead of flush against the start.
In horizontal writing mode, block-start is usually the top. It is the longhand paired with scroll-padding-block-end, and both are set by scroll-padding-block. It is not inherited.
Baseline Widely available.
Not deprecated. Logical longhand for the block-start scrollport inset. Widely available since September 2021 (Safari 15+). Works on any scroll container, with or without snap.
Layout does not shift. Only scroll and snap aiming change inside the scrollport.
Compatibility
Browser Support
scroll-padding-block-start is a browser CSS property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since Sep 2021
scroll-padding-block-start
Chrome 69+, Edge 79+, Firefox 68+, Safari 15+, Opera 56+, Samsung Internet 10.1+. Internet Explorer has no support.
97%Global reach
Google Chrome69+
Full support
Mozilla Firefox68+
Full support
Apple Safari15+
Full support
Microsoft Edge79+
Full support
Opera56+
Full support
Samsung Internet10.1+
Full support
Internet ExplorerNo support
Not supported
scroll-padding-block-startWidely supported
Bottom line: Safe for modern sites. Prefer the logical longhand when writing-mode may change. Not a server runtime API.
Remember
Key Takeaways
Role: inset the scrollport at the block-start edge only.
Values:auto, length, or percentage.
Initial value:auto. Not inherited.
Tip: pair with scroll-snap-align: start to see the top inset clearly.
One line:scroll-padding-block-start reserves space at the block-start of the scrollport — usually the top.
Frequently Asked Questions
It insets the scrollport at the block-start edge. In horizontal writing mode that is usually the top, so snap and scroll targets stop below that edge.
The initial value is auto. Browsers usually treat that like 0px unless they choose another offset.
scroll-padding-top is always the physical top. scroll-padding-block-start follows the block flow, so it adapts when writing-mode is vertical.
scroll-padding-block is the shorthand for both block-start and block-end. This longhand sets only the start side.
Use it for fixed headers, top chrome, or extra space when panels snap to the start edge of a scroller.
It is Baseline and widely available since September 2021: Chrome 69+, Edge 79+, Firefox 68+, Safari 15+, Opera 56+. Internet Explorer does not support it. It is a browser CSS property, not a Node.js feature.