overscroll-behavior
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
CSS-ÑвойÑÑво overscroll-behavior â ÑÑо ÑокÑаÑение Ð´Ð»Ñ ÑвойÑÑв overscroll-behavior-x и overscroll-behavior-y, коÑоÑÑе позволÑÑÑ ÑпÑавлÑÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸ÐµÐ¼ пÑокÑÑÑки пÑи доÑÑижении гÑаниÑÑ Ð¾Ð±Ð»Ð°ÑÑи пÑокÑÑÑки.
/* ÐлÑÑевÑе Ñлова */
overscroll-behavior: auto; /* по ÑмолÑÐ°Ð½Ð¸Ñ */
overscroll-behavior: contain;
overscroll-behavior: none;
/* Ðвойное знаÑение */
overscroll-behavior: auto contain;
/* ÐлобалÑнÑе знаÑÐµÐ½Ð¸Ñ */
overflow: inherit;
overflow: initial;
overflow: unset;
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑнÑе бÑаÑзеÑÑ, как пÑавило, обеÑпеÑиваÑÑ ÑÑÑÐµÐºÑ Â«Ð¾ÑÑкока» или даже обновлÑÑÑ ÑÑÑаниÑÑ Ð¿Ñи доÑÑижении ÐµÑ Ð²ÐµÑÑ Ð½ÐµÐ¹ или нижней ÑаÑÑи (или дÑÑгой облаÑÑи пÑокÑÑÑки). Ðозможно, Ð²Ñ Ñакже замеÑали, ÑÑо когда повеÑÑ ÑÑÑаниÑÑ Ñ Ð¿ÑокÑÑÑкой ÑаÑположено диалоговое окно Ñ Ð¿ÑокÑÑÑкой, Ñо пÑи доÑÑижении гÑаниÑÑ Ð¿ÑокÑÑÑки диалогового окна нижележаÑÐ°Ñ ÑÑÑаниÑа наÑÐ¸Ð½Ð°ÐµÑ Ð¿ÑокÑÑÑиваÑÑÑÑ. ÐÑо назÑваеÑÑÑ ÑепоÑкой пÑокÑÑÑки (scroll chaining, англ.)
РнекоÑоÑÑÑ
ÑлÑÑаÑÑ
Ñакое поведение нежелаÑелÑно. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ overscroll-behavior, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±Ð°Ð²Ð¸ÑÑÑÑ Ð¾Ñ Ð½ÐµÐ¶ÐµÐ»Ð°ÑелÑнÑÑ
ÑепоÑек пÑокÑÑÑки и Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ Ð±ÑаÑзеÑа по пÑинÑÐ¸Ð¿Ñ Â«Ð¿Ð¾ÑÑниÑе, ÑÑÐ¾Ð±Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ» (pull to refresh, англ.), Ñ
аÑакÑеÑного, напÑимеÑ, Ð´Ð»Ñ Ð¿Ñиложений Facebook и Twitter.
| ÐаÑалÑное знаÑение | auto |
|---|---|
| ÐÑименÑеÑÑÑ Ðº | не заменÑемÑе блоÑнÑе и inline-block ÑлеменÑÑ |
| ÐаÑледÑеÑÑÑ | Ð½ÐµÑ |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
| Animation type | discrete |
СинÑакÑиÑ
СвойÑÑво overscroll-behavior задаÑÑÑÑ Ð² виде одного или двÑÑ
клÑÑевÑÑ
Ñлов, вÑбÑаннÑÑ
из ÑпиÑка знаÑений ниже.
Ðва клÑÑевÑÑ
Ñлова опÑеделÑÑÑ Ð·Ð½Ð°Ñение overscroll-behavior по оÑÑм x и y ÑооÑвеÑÑÑвенно. ÐÑли задано ÑолÑко одно знаÑение, Ñо пÑедполагаеÑÑÑ, ÑÑо и x, и y одинаковÑ.
ÐнаÑениÑ
auto-
Ðоведение по ÑмолÑаниÑ.
contain-
Ðоведение длÑ
overscroll-behaviorпÑименÑеÑÑÑ Ð²Ð½ÑÑÑи ÑлеменÑа, Ð´Ð»Ñ ÐºÐ¾ÑоÑого ÑÑÑановлено ÑÑо знаÑение (напÑимеÑ, ÑÑÑекÑÑ Â«Ð¾ÑÑкока» или обновлениÑ), но не возникаÑÑ ÑепоÑки пÑокÑÑÑки Ð´Ð»Ñ ÑоÑÐµÐ´Ð½Ð¸Ñ Ð¾Ð±Ð»Ð°ÑÑей пÑокÑÑÑки, напÑимеÑ, нижележаÑие ÑлеменÑÑ Ð½Ðµ бÑдÑÑ Ð¿ÑокÑÑÑиваÑÑÑÑ. none-
Ðе пÑоиÑÑ Ð¾Ð´Ð¸Ñ ÑепоÑки пÑокÑÑÑки в ÑоÑÐµÐ´Ð½Ð¸Ñ Ð¾Ð±Ð»Ð°ÑÑÑÑ Ð¿ÑокÑÑÑки, и по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑедоÑвÑаÑаеÑÑÑ Ð´Ð¾ÑÑижение гÑаниÑÑ Ð¾Ð±Ð»Ð°ÑÑи пÑокÑÑÑки.
ФоÑмалÑнÑй ÑинÑакÑиÑ
overscroll-behavior =
[ contain | none | auto | chain ]{1,2}
ÐÑимеÑÑ
РнаÑем пÑимеÑе overscroll-Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ (Ñм. Ñакже код по ÑÑÑлке ) пÑедÑÑавлен полноÑÑÑаниÑнÑй ÑпиÑок подделÑнÑÑ ÐºÐ¾Ð½ÑакÑов и диалоговое окно Ñ ÑаÑом.

Ðбе ÑÑи облаÑÑи пÑокÑÑÑиваÑÑÑÑ; обÑÑно, еÑли Ð²Ñ Ð¿ÑокÑÑÑиваеÑе окно ÑаÑа до ÑеÑ
поÑ, пока не доÑÑигнеÑе гÑаниÑÑ Ð¿ÑокÑÑÑки, нижележаÑее окно конÑакÑов Ñоже наÑнÑÑ Ð¿ÑокÑÑÑиваÑÑÑÑ, ÑÑо нежелаÑелÑно. ÐÑедоÑвÑаÑиÑÑ Ñакое поведение можно, иÑполÑзÑÑ overscroll-behavior-y (overscroll-behavior Ñакже подойдеÑ) Ð´Ð»Ñ Ð¾ÐºÐ½Ð° ÑаÑа, как показано ниже:
.messages {
height: 220px;
overflow: auto;
overscroll-behavior-y: contain;
}
ÐÑ Ñакже Ñ
оÑим избавиÑÑÑÑ Ð¾Ñ ÑÑандаÑÑного overscroll-ÑÑÑекÑа пÑи пÑокÑÑÑке конÑакÑов ввеÑÑ
или вниз (напÑимеÑ, Chrome на Android обновлÑÐµÑ ÑÑÑаниÑÑ Ð¿Ñи пÑокÑÑÑке за пÑÐµÐ´ÐµÐ»Ñ Ð²ÐµÑÑ
ней гÑаниÑÑ). ÐÑо можно пÑедоÑвÑаÑиÑÑ, ÑÑÑановив Ð´Ð»Ñ ÑлеменÑа <body> знаÑение overscroll-behavior: none:
body {
margin: 0;
overscroll-behavior: none;
}
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Overscroll Behavior Module Level 1> # overscroll-behavior-properties> |