我想知道为什么 position: sticky
适用于某些 x 轴滚动,但是一旦您滚动超过屏幕宽度的初始宽度,您的“粘性 div”就会停止粘贴。
在这个例子中,我有一个左侧栏,它粘在左边(请注意,我不能使用 position: fixed
或 position: absolute
,因为在我的实际项目中,left-div而右边的 div 需要沿 y 轴上下滚动,因此我们只需要左侧粘贴)
是否有我可以定义的其他 CSS 参数,例如
left-sticky-distance=999999%
或类似的东西?
一些测试代码说明如下
<html>
<body>
<div style='
position:sticky;
z-index:1;
left:0;
width:100px;
height:200px;
overflow: hidden;
background-color:#ff0000;
opacity:0.8;'
>
</div>
<div style='position: absolute; top: 10; left: 10; width: 200; height:50px; background-color: blue'>B</div>
<div style='position: absolute; top: 10; left: 110; width: 200; height:50px; background-color: blue'>C</div>
<div style='position: absolute; top: 10; left: 210; width: 200; height:50px; background-color: blue'>D</div>
</body>
<html>
原文由 user1709076 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个问题: https ://stackoverflow.com/a/45530506 回答了这个问题。
一旦“sticky div”到达屏幕边缘,它就位于父元素视口的末端。这会导致粘性元素停止并停留在父视口的末尾。此代码笔提供了一个示例: https ://codepen.io/anon/pen/JOOBxg