我正在使用一个非常简单的代码在滚动时制作一个粘性元素。
我想制作.top sticky,它包含在.wrap中。 当我向下滚动时,我想设置与包裹相关的.top的位置(这样它从左边开始:0与.wrap相关,与身体无关。我想把它保留在.wrap中。我怎样才能做到这一点? 感谢。
jQuery的:
var top = $('.top').offset().top;
$(window).scroll(function (event) {
var y = $(this).scrollTop();
if (y >= top){
$('.top').addClass('sticky');
}
else{
$('.top').removeClass('sticky');
}
});
CSS:
.wrap{
width: 300px;
border: 1px solid green;
margin: 0 auto;
height: 1000px;
}
.top{
background: green;
height: 100px;
}
.sticky{
position: fixed;
top: 0;
left: 0;
width: 100%;
}
答案 0 :(得分:5)
尝试以下CSS:
.sticky {
position: fixed;
width: inherit;
}
DEMO: http://jsfiddle.net/63cFy/1/
P.S:提到@jsmorph,您还可以添加top: 0
以便在滚动时生成元素look better。
答案 1 :(得分:0)
喜欢这个
<强> demo 强>
<强> CSS 强>
.wrap{
width: 300px;
border: 1px solid green;
margin: 0 auto;
height: 1000px;
}
.top{
background: green;
height: 100px;
}
.sticky{
position: fixed;
width: inherit;
background-color:red;
}