我在我的标题上使用Bootstrap Affix,我想在页面滚动100px后将其修复。我在jquery中添加了这样的内容:
$('#navbar').affix({
offset: {
top: 100,
}
});
问题是当我滚动页面上的内容时跳起来。我添加了一个最小高度的包装,但这并没有解决问题。
有人可以帮忙吗?
答案 0 :(得分:1)
闪烁/跳转是因为导航栏从position:static
更改为postition:fixed
。当贴图以100px应用时,它接近导航栏92px的高度,除非你有div of 100px in height above the navbar like in this question,否则它总是会“跳”。
在您的情况下,看起来您只是在滚动100px后尝试缩小导航栏填充,因此在这种情况下始终保持导航栏位置:固定并仅在应用.affix
时调整填充。
https://jsfiddle.net/etxyk0y1/1/
.navbar {
min-height: 50px;
z-index: 99998;
background:red;
width:100%;
position: fixed;
transition: all .5s;
top: 0;
}
.affix-top.navbar {
padding-bottom: 20px;
border: 1px solid transparent;
padding-top: 20px;
}
.affix.navbar {
padding-top: 10px;
padding-bottom: 10px;
font-size: 0.9em;
border-bottom: 1px solid #f9f7f3;
transition: all .5s;
}
使用nav-wrapper
保持固定导航栏和内容之间的间距。
.nav-wrapper {
padding-top: 100px;
}