Spec-Zone.ru › CSS

`overscroll-behavior-inline` CSS property

Baseline 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

/* 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;

Values

This property is specified as one of the following keyword 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 value auto
Applies to non-replaced block-level elements and non-replaced inline-block elements
Inherited no
Computed value as specified
Animation type discrete

Formal syntax

overscroll-behavior-inline = 
  contain |
  none |
  auto

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

<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

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
144
77–144The property has no effect on scroll containers that have no scrollable overflow.
144
79–144The property has no effect on scroll containers that have no scrollable overflow.
150
73–150The property has no effect on scroll containers that have no scrollable overflow.
128
64–128The property has no effect on scroll containers that have no scrollable overflow.
16The property has no effect on scroll containers that have no scrollable overflow.
144
77–144The property has no effect on scroll containers that have no scrollable overflow.
150
79–150The property has no effect on scroll containers that have no scrollable overflow.
95
55–95The property has no effect on scroll containers that have no scrollable overflow.
16The property has no effect on scroll containers that have no scrollable overflow.
12.0The property has no effect on scroll containers that have no scrollable overflow.
144
77–144The property has no effect on scroll containers that have no scrollable overflow.
16The property has no effect on scroll containers that have no scrollable overflow.
auto
77
79
73
64
16
77
79
55
16
12.0
77
16
chain
150
150
No
134
No
150
No
101
No
No
150
No
contain
77
79
73
64
16
77
79
55
16
12.0
77
16
none
77
79
73
64
16
77
79
55
16
12.0
77
16

See also

  • overscroll-behavior
  • overscroll-behavior-x
  • overscroll-behavior-y
  • overscroll-behavior-block
  • CSS overscroll behavior module

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/overscroll-behavior-inline

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API