use*_*024 3 html css jquery scroll css-position
我在容器中有一个固定的块元素。滚动时,固定定位的元素超出了容器。我知道固定元素将根据窗口 vw 定位。但是有什么方法可以确保固定定位的元素只会滚动到容器位置。固定位置元素不应超出容器
问题如下所示。
https://codepen.io/anon/pen/dKLByX
我尝试使用以下方法解决问题:
if($(window).scrollTop()>1900){
$('.fixed-ct').css({'bottom':'200px','top':'auto'});
}else if($(document).scrollTop() <=100) {
$('.fixed-ct').css({'top':'10px','bottom':'auto'});
}else {
$('.fixed-ct').css({'top':'0px','bottom':'auto'});
}
Run Code Online (Sandbox Code Playgroud)
但有时固定容器在末尾,因为底部 200px 它应该在顶部使用 top:0px 滚动并且它应该在容器本身内部。
小智 8
好了,在 .fixed-ct 中使用 position sticky 并添加 position:relative 到 .main-ct
.main-ct {
width: 1000px;
height:600px;
border: 1px solid #000;
position:relative;
}
.fixed-ct {
position: sticky;
width:100px;
height:20px;
background: red;
top:10px;
}
.like-body {
width: 100%;
height:1300px;
}Run Code Online (Sandbox Code Playgroud)
<div class="like-body">
<div class="main-ct">
<div class="fixed-ct"></div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)