我正试图制作一个100%的CSS和HTML下拉菜单,就像在http://phpbb.com上看到的一样。当您将鼠标悬停在导航链接上时,新的div会出现在您悬停在其上方的div下方。
我要做的是让.submenu
出现在使用<li>
嵌套的#nav li a:hover submenu {
下方。据我所知,这个CSS选择器应该在.submenu
元素悬停时选择a
DIV?但它不起作用。
#nav {
list-style-type: none;
margin: -5px 0px 0px 5px;
}
#nav li {
display: inline;
}
#nav li a {
display: block;
padding: 3px;
float: left;
margin: 0px 10px 0px 10px;
text-decoration: none;
color: #fff;
font-weight: bold;
position: relative;
}
#nav li a:hover {
text-shadow: 1px 1px #333;
}
#nav li a:hover submenu {
display: block;
color: red;
}
.submenu {
position: absolute;
display: none;
}
<ul id="nav">
<li><a href="/">Home</a>
</li>
<li>
<a href="/">Skins</a>
<div class="submenu">
hello :)
</div>
</li>
<li><a href="/">Guides</a>
</li>
<li><a href="/">About</a>
</li>
</ul>
答案 0 :(得分:1)
你倒数第二个选择器正在寻找一个“子菜单”元素,你应该纠正这个说“.submenu”
像这样:
/*#nav li a:hover submenu {*/
#nav li a:hover .submenu {
display: block;
color: red;
}
编辑:
要使悬停起作用,您还需要调整CSS,以便将悬停应用于列表项而不是锚标记:
#nav li:hover .submenu {
display: block;
color: red;
}
答案 1 :(得分:0)
您是否在选择器#nav li a:hover submenu
中的子菜单之前错过了句点('。')?
答案 2 :(得分:0)
尝试编辑以下部分。 放一个。 (点)在子菜单之前,因为它是一个类。
#nav li a:hover .submenu {
display: block;
color: red;
}
答案 3 :(得分:0)
#nav li:hover .submenu {
display: block;
color: red;
}
您希望当您将鼠标悬停在li上时,而不是在a上,只是因为您没有在a中包含类子菜单的项目。
你也可以考虑在子菜单中使用s。