When a user scrolls to the bottom of a modal and keeps scrolling, the page behind it starts moving. This is scroll chaining — the browser passes the scroll gesture up through the DOM when the focused container runs out of room. The traditional fix is JavaScript: intercept touchmove events, check whether the container has hit its boundary, and call preventDefault(). There's a CSS property for this.

The property

overscroll-behavior controls what happens when a scroll gesture reaches the edge of a scrollable container. Three values:

auto — the default; scroll chains to the parent element

contain — stops chaining at this element; overscroll effects (bounce, glow highlight) still render