overscroll-behavior-inline
Базовая версия 2022
Новое
С сентября 2022 года эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или браузерах.
Свойство overscroll-behavior-inline CSS задаёт поведение браузера, когда достигается граница области прокрутки в направлении строки.
См. overscroll-behavior для полного объяснения.
Синтаксис
/* Keyword values */ overscroll-behavior-inline: auto; /* default */ overscroll-behavior-inline: contain; overscroll-behavior-inline: none; /* Global values */ overscroll-behavior-inline: inherit; overscroll-behavior-inline: initial; overscroll-behavior-inline: revert; overscroll-behavior-inline: revert-layer; overscroll-behavior-inline: unset;
Свойство overscroll-behavior-inline задаётся как ключевое слово из списка значений ниже.
Значения
auto-
Стандартное поведение переполнения при прокрутке.
contain-
Стандартное поведение переполнения при прокрутке (например, эффекты «отскока») наблюдаются внутри элемента, где установлено это значение. Однако, никакая цепная прокрутка не происходит в соседних областях прокрутки; подлежащие элементы не будут прокручиваться. Значение
containотключает стандартную навигацию браузера, включая жесты вертикального перетаскивания для обновления и горизонтальную навигацию свайпом. none-
Не происходит цепной прокрутки в соседних областях прокрутки, и предотвращается стандартное поведение переполнения при прокрутке.
Формальное определение
| Начальное значение | auto |
|---|---|
| Применимо к | элементы блочного уровня и элементы типа inline-block, которые не являются заменяемыми |
| Наследуется | нет |
| Вычисленное значение | как указано |
| Тип анимации | дискретный |
Формальный синтаксис
Примеры
Предотвращение переполнения при прокрутке в строчном направлении
В этой демонстрации есть два элемента блочного уровня, один внутри другого. У внешнего элемента задана большая width, чтобы страница прокручивалась горизонтально. У внутреннего элемента задана небольшая ширина (и height), чтобы он удобно размещался внутри области просмотра, но его содержимому задана большая ширина, чтобы он также прокручивался горизонтально.
По умолчанию, когда внутренний элемент прокручивается и достигает границы прокрутки, вся страница начнёт прокручиваться, что, вероятно, не является желаемым действием. Чтобы этого не происходило в направлении строки, мы установили overscroll-behavior-inline: contain для внутреннего элемента.
HTML
<main>
<div>
<div>
<p>
<code>overscroll-behavior-inline</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: 400px;
width: 3000px;
background-color: white;
background-image: repeating-linear-gradient(
to right,
rgb(0 0 0 / 0%) 0px,
rgb(0 0 0 / 0%) 19px,
rgb(0 0 0 / 50%) 20px
);
}
main > div {
height: 300px;
width: 400px;
overflow: auto;
position: relative;
top: 50px;
left: 50px;
overscroll-behavior-inline: contain;
}
div > div {
height: 100%;
width: 1500px;
background-color: yellow;
background-image: repeating-linear-gradient(
to right,
rgb(0 0 0 / 0%) 0px,
rgb(0 0 0 / 0%) 19px,
rgb(0 0 0 / 50%) 20px
);
}
p {
padding: 10px;
background-color: rgb(255 0 0 / 50%);
margin: 0;
width: 360px;
position: relative;
top: 10px;
left: 10px;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Модуль поведения переполнения при прокрутке Уровень 1 # overscroll-behavior-longhands-logical |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | |
overscroll-behavior-inline |
77 | 79 | 73 | 64 | 16 | 77 | 79 | 55 | 16 | 12.0 | 77 |
auto |
77 | 79 | 73 | 64 | 16 | 77 | 79 | 55 | 16 | 12.0 | 77 |
contain |
77 | 79 | 73 | 64 | 16 | 77 | 79 | 55 | 16 | 12.0 | 77 |
none |
77 | 79 | 73 | 64 | 16 | 77 | 79 | 55 | 16 | 12.0 | 77 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior-inline