【发布时间】:2019-04-07 10:38:48
【问题描述】:
我在 html 页面中有多个 div。当我尝试粘贴菜单栏时它不起作用并且菜单栏在其他 div 内。这是我的代码。
#menubar {
height: 50px;
width: 100%;
background-color: red;
position: -webkit-sticky;
position: sticky;
top: 0
}
.content {
/* to mimic content so we can have scroll */
height: 1000px;
}
<div id="container">
<div id="header">
<div id="bannerbox">
<img src="https://via.placeholder.com/300x300" height="100%" width="100%" />
</div>
<div id="menubar">
<ul>
<li> <a href="#">Home</a></li>
<li> <a href="#">Home</a></li>
<li> <a href="#">Home</a></li>
</ul>
</div>
<div id="cityinfo">
</div>
</div>
<div id="content" class="content">
</div>
<div id="footer">
</div>
</div>
哪里做错了?我什至尝试了很多方法,但都不起作用。
我在内容 div 中添加了虚拟数据,使其能够上下滚动。
【问题讨论】:
-
需要
div#menubar元素前后的一些内容才能看到sticky位置的效果。 -
@roshi pandy 在你的#menubar css 中使用
position:fixed而不是position:sticky -
@ths 正如我上面提到的,粘性 div 有图像,粘性 div 下方有多达 100 行的内容,我在此处提问之前删除了这些内容
-
@Gaurav 我想使用不固定的粘性,因为菜单栏不在顶部,而是在页面中间
-
@roshipandy 我明白了,我按预期添加了一些内容和您的代码 wprks。 @Gaurav
fixed位置是相对于视口计算的,因此无法达到 OP 需要的效果。