overscroll-behavior-inline CSS property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.

See overscroll-behavior for a full explanation.

Syntax

css
/* Keyword values */
overscroll-behavior-inline: auto; /* default */
overscroll-behavior-inline: contain;
overscroll-behavior-inline: none;

/* Global values */
overscroll-behavior-inline: inherit;
overscroll-behavior-inline: initial;
overscroll-behavior-inline: revert;
overscroll-behavior-inline: revert-layer;
overscroll-behavior-inline: unset;

The overscroll-behavior-inline property is specified as a keyword chosen from the list of values below.

Values

auto

The default scroll overflow behavior occurs as normal.

contain

Default scroll overflow behavior (e.g., "bounce" effects) is observed inside the element where this value is set. However, no scroll chaining occurs on neighboring scrolling areas; the underlying elements will not scroll. The contain value disables native browser navigation, including the vertical pull-to-refresh gesture and horizontal swipe navigation.

none

No scroll chaining occurs to neighboring scrolling areas, and default scroll overflow behavior is prevented.

Formal definition

Initial valueauto
Applies tonon-replaced block-level elements and non-replaced inline-block elements
Inheritedno
Computed valueas specified
Animation typediscrete

Formal syntax

overscroll-behavior-inline = 
contain |
none |
auto |
chain

Examples

Preventing inline overscrolling

In this demo we have two block-level boxes, one inside the other. The outer box has a large width set on it so the page will scroll horizontally. The inner box has a small width (and height) set on it so it sits comfortably inside the viewport, but its content is given a large width so it will also scroll horizontally.

By default, when the inner box is scrolled and a scroll boundary is reached, the whole page will begin to scroll, which is probably not what we want. To avoid this happening in the inline direction, we've set overscroll-behavior-inline: contain on the inner box.

HTML

html
<main>
  <div>
    <div>
      <p>
        <code>overscroll-behavior-inline</code> has been used to make it so that
        when the scroll boundaries of the yellow inner box are reached, the
        whole page does not begin to scroll.
      </p>
    </div>
  </div>
</main>

CSS

css
main {
  height: 400px;
  width: 3000px;
  background-color: white;
  background-image: repeating-linear-gradient(
    to right,
    transparent 0px,
    transparent 19px,
    rgb(0 0 0 / 50%) 20px
  );
}

main > div {
  height: 300px;
  width: 400px;
  overflow: auto;
  position: relative;
  top: 50px;
  left: 50px;
  overscroll-behavior-inline: contain;
}

div > div {
  height: 100%;
  width: 1500px;
  background-color: yellow;
  background-image: repeating-linear-gradient(
    to right,
    transparent 0px,
    transparent 19px,
    rgb(0 0 0 / 50%) 20px
  );
}

p {
  padding: 10px;
  background-color: rgb(255 0 0 / 50%);
  margin: 0;
  width: 360px;
  position: relative;
  top: 10px;
  left: 10px;
}

Result

Specifications

Specification
CSS Overscroll Behavior Module Level 1
# overscroll-behavior-longhands-logical

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
overscroll-behavior-inline
Chrome – Partial support
Chrome 77 – 143 (Release date: 2019-09-10)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Chrome – Full support
Chrome 144 (Release date: 2026-01-13)
footnote Full support
Edge – Partial support
Edge 79 – 143 (Release date: 2020-01-15)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Edge – Full support
Edge 144 (Release date: 2026-01-21)
footnote Full support
Firefox – Partial support
Firefox 73 – 149 (Release date: 2020-02-11)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Firefox – Full support
Firefox 150 (Release date: 2026-04-21)
footnote Full support
Opera – Partial support
Opera 64 – 127 (Release date: 2019-10-07)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Opera – Full support
Opera 128 (Release date: 2026-02-26)
footnote Full support
Safari – Partial support
Safari 16 (Release date: 2022-09-12)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
footnote See bug 243452
Chrome Android – Partial support
Chrome Android 77 – 143 (Release date: 2019-09-10)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Chrome Android – Full support
Chrome Android 144 (Release date: 2026-01-13)
footnote Full support
Firefox for Android – Partial support
Firefox for Android 79 – 149 (Release date: 2020-07-28)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Firefox for Android – Full support
Firefox for Android 150 (Release date: 2026-04-21)
footnote Full support
Opera Android – Partial support
Opera Android 55 – 94 (Release date: 2019-12-03)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
Opera Android – Full support
Opera Android 95 (Release date: 2026-02-11)
footnote Full support
Safari on iOS – Partial support
Safari on iOS 16 (Release date: 2022-09-12)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
footnote See bug 243452
Samsung Internet – Partial support
Samsung Internet 12 (Release date: 2020-06-19)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
WebView Android – Partial support
WebView Android 77 – 143 (Release date: 2019-09-10)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
WebView Android – Full support
WebView Android 144 (Release date: 2026-01-13)
footnote Full support
WebView on iOS – Partial support
WebView on iOS 16 (Release date: 2022-09-12)
footnote Partial support
footnote The property has no effect on scroll containers that have no scrollable overflow.
footnote See bug 243452
auto
Chrome – Full support
Chrome 77 (Release date: 2019-09-10)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 73 (Release date: 2020-02-11)
footnote Full support
Opera – Full support
Opera 64 (Release date: 2019-10-07)
footnote Full support
Safari – Full support
Safari 16 (Release date: 2022-09-12)
footnote Full support
Chrome Android – Full support
Chrome Android 77 (Release date: 2019-09-10)
footnote Full support
Firefox for Android – Full support
Firefox for Android 79 (Release date: 2020-07-28)
footnote Full support
Opera Android – Full support
Opera Android 55 (Release date: 2019-12-03)
footnote Full support
Safari on iOS – Full support
Safari on iOS 16 (Release date: 2022-09-12)
footnote Full support
Samsung Internet – Full support
Samsung Internet 12 (Release date: 2020-06-19)
footnote Full support
WebView Android – Full support
WebView Android 77 (Release date: 2019-09-10)
footnote Full support
WebView on iOS – Full support
WebView on iOS 16 (Release date: 2022-09-12)
footnote Full support
contain
Chrome – Full support
Chrome 77 (Release date: 2019-09-10)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 73 (Release date: 2020-02-11)
footnote Full support
Opera – Full support
Opera 64 (Release date: 2019-10-07)
footnote Full support
Safari – Full support
Safari 16 (Release date: 2022-09-12)
footnote Full support
Chrome Android – Full support
Chrome Android 77 (Release date: 2019-09-10)
footnote Full support
Firefox for Android – Full support
Firefox for Android 79 (Release date: 2020-07-28)
footnote Full support
Opera Android – Full support
Opera Android 55 (Release date: 2019-12-03)
footnote Full support
Safari on iOS – Full support
Safari on iOS 16 (Release date: 2022-09-12)
footnote Full support
Samsung Internet – Full support
Samsung Internet 12 (Release date: 2020-06-19)
footnote Full support
WebView Android – Full support
WebView Android 77 (Release date: 2019-09-10)
footnote Full support
WebView on iOS – Full support
WebView on iOS 16 (Release date: 2022-09-12)
footnote Full support
none
Chrome – Full support
Chrome 77 (Release date: 2019-09-10)
footnote Full support
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote Full support
Firefox – Full support
Firefox 73 (Release date: 2020-02-11)
footnote Full support
Opera – Full support
Opera 64 (Release date: 2019-10-07)
footnote Full support
Safari – Full support
Safari 16 (Release date: 2022-09-12)
footnote Full support
Chrome Android – Full support
Chrome Android 77 (Release date: 2019-09-10)
footnote Full support
Firefox for Android – Full support
Firefox for Android 79 (Release date: 2020-07-28)
footnote Full support
Opera Android – Full support
Opera Android 55 (Release date: 2019-12-03)
footnote Full support
Safari on iOS – Full support
Safari on iOS 16 (Release date: 2022-09-12)
footnote Full support
Samsung Internet – Full support
Samsung Internet 12 (Release date: 2020-06-19)
footnote Full support
WebView Android – Full support
WebView Android 77 (Release date: 2019-09-10)
footnote Full support
WebView on iOS – Full support
WebView on iOS 16 (Release date: 2022-09-12)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
Has more compatibility info.

See also