CSS-свойство `overscroll-behavior-block`
Базовая поддержка Ограниченная доступность
Эта функция не относится к базовым, поскольку не работает в некоторых из наиболее широко используемых браузеров.
Свойство overscroll-behavior-block CSS задаёт поведение браузера при достижении границы в блочном направлении прокручиваемой области.
Полное описание см. в разделе overscroll-behavior.
Синтаксис
/* Keyword values */ overscroll-behavior-block: auto; /* default */ overscroll-behavior-block: contain; overscroll-behavior-block: none; /* Global values */ overscroll-behavior-block: inherit; overscroll-behavior-block: initial; overscroll-behavior-block: revert; overscroll-behavior-block: revert-layer; overscroll-behavior-block: unset;
Значения
Для этого свойства можно указать одно из следующих ключевых слов:
-
auto - Используется стандартное поведение переполнения прокрутки.
-
contain - Внутри элемента, для которого задано это значение, наблюдается стандартное поведение переполнения прокрутки (например, эффект «отскока»). Однако прокрутка не передаётся соседним прокручиваемым областям; лежащие под элементом элементы прокручиваться не будут. Значение
containотключает встроенную навигацию браузера, включая вертикальный жест для обновления страницы и горизонтальную навигацию с помощью свайпа. -
none - Прокрутка не передаётся соседним прокручиваемым областям, а стандартное поведение переполнения прокрутки отключается.
Формальное определение
| Исходное значение | auto |
|---|---|
| Применяется к | блочным элементам, не являющимся замещаемыми, и строчно-блочным элементам, не являющимся замещаемыми |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
overscroll-behavior-block =
contain |
none |
auto
Примеры
Предотвращение чрезмерной прокрутки в блочном направлении
В этом примере у нас есть два блочных блока, один внутри другого. Для внешнего блока задана большая height, поэтому страница прокручивается по вертикали. Для внутреннего блока заданы небольшие width (и height), поэтому он удобно помещается в области просмотра, но его содержимому задана большая height, чтобы оно тоже прокручивалось по вертикали.
По умолчанию, когда внутренняя область прокручивается и достигает границы, начинает прокручиваться вся страница, чего, вероятно, нам не нужно. Чтобы избежать этого в блочном направлении, для внутреннего блока мы задали overscroll-behavior-block: contain.
HTML
<main>
<div>
<div>
<p>
<code>overscroll-behavior-block</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: 3000px;
width: 500px;
background-color: white;
background-image: repeating-linear-gradient(
to bottom,
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-block: contain;
}
div > div {
height: 1500px;
width: 100%;
background-color: yellow;
background-image: repeating-linear-gradient(
to bottom,
transparent 0px,
transparent 19px,
rgb(0 0 0 / 50%) 20px
);
}
p {
padding: 10px;
background-color: rgb(255 0 0 / 50%);
margin: 0;
width: 340px;
position: relative;
top: 10px;
left: 10px;
}
Результат
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
overscroll-behavior-block |
144
77–144Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
144
79–144Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
150
73–150Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
128
64–128Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
16Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
144
77–144Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
150
79–150Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
95
55–95Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
16Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
12.0Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
144
77–144Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
16Свойство не влияет на прокручиваемые контейнеры, в которых отсутствует прокручиваемое переполнение. |
auto |
77 |
79 |
73 |
64 |
16 |
77 |
79 |
55 |
16 |
12.0 |
77 |
16 |
chain |
150 |
150 |
Нет |
134 |
Нет |
150 |
Нет |
101 |
Нет |
Нет |
150 |
Нет |
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 |
См. также
overscroll-behavioroverscroll-behavior-xoverscroll-behavior-yoverscroll-behavior-inline- Модуль CSS overscroll behavior
© 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-block