overscroll-behaviorLimited availability
The overscroll-behavior CSS property disables default scrolling behaviors when the edges of a scrolling area are reached.
Not yet supported in all major browsers — check the table and provide a fallback.
Browser support
DesktopChrome
1–143Not supported
144+Supportedsince Jan 13, 2026
Current: 155Edge
12–143Not supported
144+Supportedsince Jan 21, 2026
Current: 154Firefox
1–149Not supported
150+Supportedsince Apr 21, 2026
Current: 157Safari
✕Not supportedup to 27
Current: 27MobileChrome Android
18–143Not supported
144+Supportedsince Jan 13, 2026
Current: 155Firefox Android
4–149Not supported
150+Supportedsince Apr 21, 2026
Current: 157Safari iOS
✕Not supportedup to 27
Current: 27How to use
Not supported in Safari, Safari iOS. Use feature detection below and provide a fallback (or a polyfill) for those browsers.
Example
Full syntax and examples are on MDN: overscroll-behavior.
Feature detection
CSS · check before using
@supports (overscroll-behavior: initial) {
/* styles that rely on overscroll-behavior */
}
/* or in JavaScript */
if (CSS.supports("overscroll-behavior", "initial")) {
// use it
}Sub-features
Support for each part of the feature (20). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| overscroll-behavior | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-block | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-block.auto | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-block.contain | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-block.none | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-inline | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-inline.auto | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-inline.contain | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-inline.none | 144 | 144 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-x | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-x.auto | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-x.contain | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-x.none | 144 | 79 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-y | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-y.auto | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-y.contain | 144 | 18 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior-y.none | 144 | 79 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior.auto | 144 | 79 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior.contain | 144 | 79 | 150 | ✕ | 144 | 150 | ✕ |
| overscroll-behavior.none | 144 | 79 | 150 | ✕ | 144 | 150 | ✕ |