【发布时间】:2016-04-23 22:56:23
【问题描述】:
我制作了一个下拉导航菜单,该菜单也部分悬停在旁边。但是当我将鼠标悬停在旁边的下拉菜单部分上时,导航栏会折叠,我最终选择了旁边。旁边的部分内容也位于导航子菜单上。
这张图片显示了重叠。橙色的鼠标悬停在鼠标左半边,进入灰色区域但仍在导航子菜单上方,“统计”子菜单折叠并选择“数据表”链接。
我用 z-index 和调整位置等尝试了各种各样的东西,但我不知道我做错了什么。
JSFiddle 显示问题。
HTML:
<nav>
<ul>
<li><a href="/Default.aspx">Home</a></li>
<li><a href="/Webpages/Stats/Graph.aspx">Stats</a>
<ul>
<li><a href="/Webpages/Stats/Graph.aspx">Graph</a></li>
<li><a href="/Webpages/Stats/DataSheet.aspx">DataSheet</a></li>
<li><a href="/Webpages/Stats/Print.aspx">Print</a></li>
</ul>
</li>
<li><a href="#">Projects</a>
<ul>
<li><a href="#">View</a></li>
<li><a href="#">Add</a></li>
<li><a href="#">Edit</a></li>
</ul>
</li>
<li><a href="/Webpages/Employees.aspx">Employees</a>
<ul>
<li><a href="#">View</a></li>
<li><a href="#">Add</a></li>
<li><a href="#">Edit</a></li>
</ul>
</li>
<li><a href="#">Settings</a></li>
<li><a href="/Webpages/About.aspx">About</a></li>
</ul>
</nav>
<aside>
<ul>
<li><a>Graph</a></li>
<li><a>Data sheet</a></li>
<li><a>Print graph</a></li>
</ul>
</aside>
CSS:
nav {
background: black;
width: auto;
height: 50px;
font-weight: bold;
}
nav ul {
list-style: none;
}
nav ul li {
height: 50px;
width: 125px;
float: left;
line-height: 50px;
background-color: #000;
text-align: center;
position: relative;
}
nav ul li a {
text-decoration: none;
color: #fff;
display: block;
}
nav ul li a:hover {
background-color: #ff6a00;
}
nav ul ul {
position: absolute;
display: none;
}
nav ul li:hover > ul {
display: block;
}
aside {
float: left;
width: 200px;
height: 700px;
background: grey;
}
aside input {
background-color: red;
}
aside ul {
list-style: none;
/*no bulets*/
height: 100%;
}
aside ul li {
height: 50px;
width: 100%;
float: left;
border-bottom: 1px solid black;
line-height: 50px;
text-align: center;
position: relative;
}
aside ul li a {
text-decoration: none;
width: 100%;
color: #fff;
display: block;
}
aside ul li a:hover {
background-color: #ff6a00;
display: block;
}
【问题讨论】:
标签: html css drop-down-menu