Spec-Zone.ru › CSS

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;
}

Результат

Спецификации

Спецификация
Модуль CSS Overscroll Behavior, уровень 1
# overscroll-behavior-longhands-logical

Совместимость с браузерами

Компьютеры Мобильные устройства
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-behavior
  • overscroll-behavior-x
  • overscroll-behavior-y
  • overscroll-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

Spec-Zone.ru

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