我希望在将鼠标悬停在特定导航栏li上时制作导航栏菜单。
我的导航栏看起来很好,直到我试图让悬停下拉工作。具体来说,这就是我要找的东西:将鼠标悬停在" work"并获得"视频"的下拉菜单和"摄影"。我不认为我嵌套了什么错误,所以我认为这是错误的CSS。我尝试了一些不同的建议,但没有任何效果。
旁注:我最近给了导航项目"菜单"的ID。我有它,以便导航上的当前页面将是一个更暗的颜色,当当前页面导航被悬停时,它将保持相同的颜色。这在我改为id到" menu"之前有效。 (之前是#34; nav ul li")。现在当你悬停时,它会改变颜色。是什么让这种变化发生了?
* {
padding: 0;
margin: 0;
}
ul, ol, dl {
padding: 0;
margin: 0;
}
ul#menu {
list-style: none;
text-align: center;
background-color: #bac9a9;
padding-top: 5px;
padding-bottom: 5px;
overflow: hidden;
}
ul#menu:after {
content:"";
background-image: url("../images/navbar-shadow-green.jpg");
height: 8px;
width: 100%;
display: block;
position: absolute;
left: 0;
margin-top: 4px;
}
ul#menu li {
display: inline;
}
ul#menu li a {
text-decoration: none;
color: #f3ffcf;
font-size: 22px;
padding: 10px 25px;
margin: 0 -2px;
}
ul#menu li a:hover {
background-color: #b2c1a2;
}
a.selected-page, a.selected-page:hover {
background-color: #a6b396;
}
li#sub ul {
display: none;
}
ul#menu li#sub:hover ul {
display: block;
}
<nav>
<ul id="menu">
<li><a href="index.html" class="selected-page">about</a>
</li>
<li id="sub"><a href="#">work</a>
</li>
<ul>
<li><a href="#">videos</a>
</li>
<li><a href="#">photography</a>
</li>
</ul>
<li><a href="#">services</a>
</li>
<li><a href="#">contact</a>
</li>
</ul>
</nav>
答案 0 :(得分:0)
我认为你的嵌套错了。您希望滚动工作列表项时显示的列表是该列表项的子项。尝试更新您的HTML / CSS,如下所示(请参阅fiddle):
<强> HTML:强>
<nav>
<ul id="menu">
<li><a href="index.html" class="selected-page">about</a>
</li>
<li id="sub">
<a href="#">work</a>
<ul>
<li><a href="#">videos</a></li>
<li><a href="#">photography</a></li>
</ul>
</li>
<li><a href="#">services</a>
</li>
<li><a href="#">contact</a>
</li>
</ul>
</nav>
CSS:
* {
padding: 0;
margin: 0;
}
ul, ol, dl {
padding: 0;
margin: 0;
}
ul#menu {
list-style: none;
text-align: center;
background-color: #bac9a9;
padding-top: 5px;
padding-bottom: 5px;
overflow: hidden;
}
ul#menu:after {
content:"";
background-image: url("../images/navbar-shadow-green.jpg");
height: 8px;
width: 100%;
display: block;
position: absolute;
left: 0;
margin-top: 4px;
}
ul#menu li {
display: inline;
}
ul#menu li a {
text-decoration: none;
color: #f3ffcf;
font-size: 22px;
padding: 10px 25px;
margin: 0 -2px;
}
ul#menu li a:hover {
background-color: #b2c1a2;
}
a.selected-page, a.selected-page:hover {
background-color: #a6b396;
}
li#sub ul {
display: none;
position: absolute;
top: 35px; left: 115px;
background-color: #b2c1a2;
}
li#sub ul li {
display: block;
}
ul#menu li#sub:hover ul {
display: block;
}