overscroll-behavior-inline
**overscroll-behavior-inline
** CSS 属性设置浏览器在到达滚动区域的内联方向边界时的行为。
有关完整解释,请参见 overscroll-behavior
。
语法
css
/* 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
属性指定为从以下值列表中选择的关键字。
Values
正式定义
正式语法
示例
阻止内联溢出
在本演示中,我们有两个块级框,一个在另一个内部。外框设置了一个很大的 width
,因此页面将水平滚动。内框设置了一个小的宽度(和 height
),因此它舒适地位于视窗内,但它的内容设置了一个很大的宽度,因此它也将水平滚动。
默认情况下,当内部框滚动并到达滚动边界时,整个页面将开始滚动,这可能不是我们想要的。为了避免这种情况在内联方向发生,我们在内部框上设置了overscroll-behavior-inline: contain
。
HTML
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
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 |
浏览器兼容性
BCD 表格仅在浏览器中加载