-webkit-overflow-scrolling
Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The -webkit-overflow-scrolling
CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
Syntax
Values
auto
-
Use "regular" scrolling, where the content immediately ceases to scroll when you remove your finger from the touchscreen.
touch
-
Use momentum-based scrolling, where the content continues to scroll for a while after finishing the scroll gesture and removing your finger from the touchscreen. The speed and duration of the continued scrolling is proportional to how vigorous the scroll gesture was. Also creates a new stacking context.
Formal definition
Initial value | auto |
---|---|
Applies to | scrolling boxes |
Inherited | yes |
Computed value | as specified |
Animation type | discrete |
Formal syntax
auto | touch
Examples
HTML
<div class="scroll-touch">
<p>
This paragraph has momentum scrolling
</p>
</div>
<div class="scroll-auto">
<p>
This paragraph does not.
</p>
</div>
CSS
div {
width: 100%;
overflow: auto;
}
p {
width: 200%;
background: #f5f9fa;
border: 2px solid #eaf2f4;
padding: 10px;
}
.scroll-touch {
-webkit-overflow-scrolling: touch; /* Lets it scroll lazy */
}
.scroll-auto {
-webkit-overflow-scrolling: auto; /* Stops scrolling immediately */
}
Results
Specifications
Not part of any standard. Apple has a description in the Safari CSS Reference.
Browser compatibility
BCD tables only load in the browser
See also
- CSS-Tricks article with demo
- Smashing Magazine - describing the effect of scroll bouncing and how it works on different web browsers
- Safari 13 Release notes: Indicates the addition of support for one-finger accelerated scrolling to all frames and
overflow:scroll
elements, eliminating the need to set-webkit-overflow-scrolling: touch
.