我想要
我发现这个jsfiddle提供了上述解决方案: http://jsfiddle.net/DTcHh/541/
两个主要代码点:
//js
$('#topnavbar').affix({
offset: {
top: $('#banner').height()
}
});
//css
#topnavbar.affix {
position: fixed;
top: 0;
width: 100%;
}
我现在的问题是,当你向下滚动到“'词缀”的位置时。发生。如果你仔细观察它有点跳跃,现在导航栏与段落中的前4行重叠
任何想法如何摆脱重叠?
答案 0 :(得分:3)
您需要通过将.navbar
添加到等于固定元素高度的padding-top
元素来替换固定的body
元素。
您可以收听affix.bs.affix
/affix-top.bs.affix
events,然后确定padding
是否应该与元素的height
相同或已删除:
Updated Example - 你看到的跳跃不再发生。
$('#topnavbar').on('affix.bs.affix affix-top.bs.affix', function (e) {
var padding = e.type === 'affix' ? $(this).height() : '';
$('body').css('padding-top', padding);
});
答案 1 :(得分:-1)
将“ z-index:10; ”添加到css中的topnavbar.affix类。
position: fixed;
top: 0;
width: 100%;
z-index:10;