scroll-axis-lockLimited availability
The scroll-axis-lock property controls whether scrolling is locked to one dimension at a time or freely follows movement in two dimensions. By default, browsers may lock the scroll axis, ignoring minor perpendicular scrolling, when scrolling is nearly vertical or horizontal.
Not yet supported in all major browsers — check the table and provide a fallback.
Browser support
DesktopChrome
1–152Not supported
153+Supportedsince Sep 8, 2026
Current: 155Edge
✕Not supportedup to 154
Current: 154Firefox
✕Not supportedup to 157
Current: 157Safari
✕Not supportedup to 27
Current: 27MobileChrome Android
✕Not supportedup to 155
Current: 155Firefox Android
✕Not supportedup to 157
Current: 157Safari iOS
✕Not supportedup to 27
Current: 27How to use
Not supported in Edge, Firefox, Safari, Chrome Android, Firefox Android, Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.
Example
Full syntax and examples are on MDN — see the links below.
Feature detection
CSS · check before using
@supports (scroll-axis-lock: initial) {
/* styles that rely on scroll-axis-lock */
}
/* or in JavaScript */
if (CSS.supports("scroll-axis-lock", "initial")) {
// use it
}Specification
Sub-features
Support for each part of the feature (3). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| scroll-axis-lock | 153 | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
| scroll-axis-lock.auto | 153 | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
| scroll-axis-lock.none | 153 | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |