overscroll-behavior-block
overscroll-behavior-block CSS 屬性設定了當滾動區域的塊方向邊界到達時,瀏覽器的行為。
有關完整說明,請參閱 overscroll-behavior。
語法
css
/* 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;
overscroll-behavior-block 屬性被指定為從下面值列表中選擇的關鍵字。
值
正式定義
正式語法
overscroll-behavior-block =
contain |
none |
auto
示例
阻止塊方向的滾動回彈
在此演示中,我們有兩個塊級盒子,一個在另一個內部。外部盒子設定了較大的 height,因此頁面將垂直滾動。內部盒子設定了較小的 width(和 height),因此它可以舒適地放置在視口內部,但其內容設定了較大的 height,因此它也將垂直滾動。
預設情況下,當內部盒子滾動併到達滾動邊界時,整個頁面將開始滾動,這可能不是我們想要的。為了避免在塊方向發生這種情況,我們對內部盒子設定了 overscroll-behavior-block: contain。
HTML
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
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 Module Level 1 # overscroll-behavior-longhands-logical |
瀏覽器相容性
載入中…