【发布时间】:2018-02-06 18:33:48
【问题描述】:
我想必须单击一个汉堡菜单图标,然后在我的图标下方显示列表。我用这种风格设置了我的汉堡菜单图标
.menu-btn div {
position: absolute;
left: 100%;
top: 64%;
padding-right: 8px;
margin-top: -0.50em;
line-height: 1.2;
font-size: 18px;
font-weight: 200;
vertical-align: middle;
z-index: 99;
}
.menu-btn span {
display: block;
width: 20px;
height: 2px;
margin: 4px 0;
background: #989da1;
z-index: 99;
}
点击汉堡菜单后应该出现的选项菜单是
<div class="responsive-menu">
<ul id="menu">
<li>Vote</li>
<li>Search</li>
<li>About</li>
<li>Log In</li>
</ul>
</div>
但我不清楚如何设置汉堡菜单的样式,因此当您单击它时,它会直接显示在汉堡菜单下方。现在,它出现在屏幕顶部的中心——https://jsfiddle.net/wtp1k57b/1/。如何设置这样的样式?
PS - 我正在寻找一种不依赖硬编码数字(例如顶部:27px)像素值的解决方案。当然,在我的小 Fiddle 中让事情发挥作用是件好事,但在我更广泛的应用程序中,我无法保证汉堡菜单的大小。
【问题讨论】:
-
在你想要的位置设置菜单的position。您已经将其设置为绝对,所以现在设置顶部和左侧属性
-
@JoshKisb,“top”和“left”似乎只接受像素值,但我想稍微不那么死板,并以某种方式告诉菜单只出现在图标下方。跨度>
-
菜单按钮/图标是绝对定位的,所以对菜单做同样的事情
-
@JoshKisb,我不理解“做同样的事情”。你的意思是放一个“位置:绝对;”导航菜单上的属性就像这个 -- jsfiddle.net/wtp1k57b/4 ?
标签: html css display hamburger-menu