我构建了一个简单的水平菜单,其中包含一个子导航列表但是我遇到了使sub'nav可见的麻烦。根据overflow:auto指令,我知道这个菜单被.wrapper切断了。
Abyhow,我能做些什么来实现这个目标吗?
.wrapper结构应如下所示
----- ------
| LOGO NAV ICONS |
----- ------
左侧的徽标,旁边是带有子菜单的导航列表。在右边,应该有图标。
我的问题在这里展示:https://jsfiddle.net/4mor5g80/2/ 任何提示/想法?
谢谢, 的Jakub
答案 0 :(得分:0)
也需要将float:left;width:100%
设置为.wrapper
,因为其中的所有元素都有float
,因此.wrapper
需要具有其内容的高度,设置overflow:visible
而不是auto
body {
background: #fff;
}
div.wrapper {
background: #2e2e2e;
min-height: 10px;
overflow: visible;
float:left;
width:100%;
}
div.wrapper .info {float: right;}
div.wrapper .logo {
float: left;
margin-right: 2em;
min-height: 10px;
}
ul {
list-style-type: none;
margin: 0;
padding: 10px 0;
float: left;
}
ul li ul {
list-style-type: none;
margin: 0;
padding: 10px 0;
}
li {
display: inline;
padding: 10px 0;
position: relative;
}
li a {
color: white;
text-align: center;
padding: 10px 16px;
text-decoration: none;
}
li a:hover {
background-color: green;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
top: 100%;
left: 0;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {background-color: #f1f1f1}
ul li:hover .dropdown-content {
display: block;
}
h3 {
clear: both;
}
}
<div class="wrapper">
<p class="logo">logo</p>
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li>
<a href="#">Dropdown</a>
<ul class="dropdown-content">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</li>
</ul>
<div class="info"><a href="a">Test</a></div>
</div>
<h3>Dropdown Menu inside a Navigation Bar</h3>
<p>Hover over the "Dropdown" link to see the dropdown menu.</p>