如何防止滚动时此导航栏的高度增加
How can I prevent the height of this navbar increasing when I scroll?
我有一个使用jQuery定位的浮动水平导航栏。当页面是静态的时,这是完美的,但是一旦我开始滚动,导航栏的高度就会增加,我不确定为什么。
我这里有一个 JSFiddle 来显示不需要的效果
这是 html
<div id="stickyribbon">
<ul>
<li><a href="1_Lesson.html" target="_blank">Week1</a>
</li>
<li><a href="2_Lesson.html" target="_blank">Week2</a>
</li>
<li><a href="3_Lesson.html" target="_blank">Week3</a>
</li>
<li><a href="4_Lesson.html" target="_blank">Week4</a>
</li>
<li><a href="5_Lesson.html" target="_blank">Week5</a>
</li>
<li><a href="6_Lesson.html" target="_blank">Week6</a>
</li>
</ul>
</div>
这是 css
#stickyribbon {
width:800px;
background: orange;
border-radius: 5px;
}
#stickyribbon ul {
display:table;
width:100%;
list-style-type: none;
}
#stickyribbon li {
display:table-cell;
font-size: 16px;
font-weight: bold;
vertical-align:middle;
}
#stickyribbon li a {
display:block;
color: #fff;
text-decoration: none;
}
#stickyribbon li a:hover {
color: yellow;
}
最后是JavaScript
$(function () {
var stickyRibbonTop = $('#stickyribbon').offset().top;
$(window).scroll(function () {
if ($(window).scrollTop() > stickyRibbonTop) {
$('#stickyribbon').css({
position: 'fixed',
top: '0px'
});
} else {
$('#stickyribbon').css({
position: 'static',
top: '0px'
});
}
});
});
我将不胜感激任何指导,因为我完全被难住了。蒂亚
您可以将CSS更改为以下内容,至关重要的是,您需要正确定义定位,填充和边距以在两种状态下建立布局:
演示小提琴
#stickyribbon {
width:800px;
background: orange;
border-radius: 5px;
position:static;
top:0;
margin:15px 0;
}
#stickyribbon ul {
display:table;
width:100%;
list-style-type: none;
padding:0;
margin:0;
}
#stickyribbon li {
display:table-cell;
font-size: 16px;
font-weight: bold;
vertical-align:middle;
padding:0 40px;
}
#stickyribbon li a {
display:block;
color: #fff;
text-decoration: none;
}
#stickyribbon li a:hover {
color: yellow;
}
div
#stickyribbon 有一些边距,当页面滚动时,div 被重新绘制以填充该边距。加保证金:0;#stickyribbon ul 和 #stickyribbon Li。
相关文章:
- 根据元素高度和宽度的百分比变化增加或减少字体大小
- 如何使“onmouseout”事件“理解”,即“跨度”高度增加
- 动态增加 iframe 高度
- 表的高度是否随着行中内容的增加而变化
- CSS转换未在增加高度时更新背景色
- 导出时增加图表高度
- 如何增加highchart.js图表上x轴标签区域的高度
- 如何增加光滑块高度,而不考虑其内容
- Div 高度不会在附加任何元素时增加
- 如何在 ag-grid 中增加列标题的高度
- 如何在 AngularJS 中动态增加/减少段落元素的高度
- 钛应用器动态文本区域高度增加
- 文本区域的高度在值增加时增加,但在值减小时不会降低
- 如何防止滚动时此导航栏的高度增加
- 选中复选标记时增加 Div 高度
- 在滚动野生动物园错误上增加元素的高度
- 标题菜单的高度增加了,但在HTML源代码中什么也没发生
- 在高度增加时保持物体可见度
- textarea's滚动高度增加不一致的问题
- Javascript——将窗口高度增加一个像素——谷歌浏览器