The scroll-margin-inline-start property sets the scroll margin on the inline-start edge of a snap target. That outset enlarges the scroll snap area used when this box snaps to the snapport.
In a horizontal left-to-right writing mode, inline-start is usually the left side. It is not inherited. The initial value is 0. It is one longhand of scroll-margin-inline. Pair it with scroll-snap-type and scroll-snap-align.
Logical longhand.
Standard-track and Baseline Widely available. Prefer it over scroll-margin-left when writing mode may change. It accepts a length only — not a percentage.
scroll-margin-inline-start is a browser layout property for scroll snap. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since 2021
scroll-margin-inline-start
Chrome 69+, Firefox 68+, Safari 15+, Edge 79+, Opera 56+, Samsung Internet 10.1+. Internet Explorer does not support it.
97%Modern browsers
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-margin-inline-startWidely supported
Bottom line: Safe for modern scroll-snap UIs. Skip Internet Explorer. Pair with scroll-snap-type and usually scroll-snap-align: start.
Remember
Key Takeaways
Role: set a scroll margin on the inline-start edge of a snap target only.
Values: lengths such as 40px or 1rem. No percentages.
Initial value:0. Not inherited. Part of the scroll-margin-inline shorthand.
Tip: pair with scroll-snap-align: start so the start outset is easy to see.
One line:scroll-margin-inline-start gives a snap target breathing room on its inline-start edge — after scroll snap is already set up.
Frequently Asked Questions
It sets the scroll margin on the inline-start edge of a snap target. That outset enlarges the scroll snap area so snapping can stop a little before that start edge. In horizontal left-to-right writing, inline-start is usually the left side.
The initial value is 0. There is no extra outset until you set one.
It mainly affects scroll snapping. You still need a scroll container with scroll-snap-type and a target with scroll-snap-align for the offset to show during snap scrolling.
scroll-margin-inline is the shorthand for both start and end. scroll-margin-inline-start sets only the inline-start side.
No. Set it on the element that snaps. Percentages are not valid; use lengths such as px, rem, or em.
It is Baseline and widely available: Chrome 69+, Firefox 68+, Safari 15+, Edge 79+, Opera 56+. Internet Explorer does not support it. It is a browser layout property, not a Node.js feature.