子菜单无法正常工作。将鼠标悬停在特定项目上时应显示,但将鼠标悬停在任何项目上时将出现
HTML
<div class="sty">
<ul class="met_clean_list">
<li><a href="#">Link 01</a></li>
<ul>
<li><b><a href="#">Sublink 01</a></b></li>
<li><b><a href="#">Sublink 02</a></b></li>
</ul>
<li><a href="#">Link 02</a></li>
<li><a href="#">Link 03</a></li>
</ul>
</div>
CSS
.sty {
background:#aaa;
float:left;
width:600px;
}
.sty ul li {
list-style:none;
position:relative;
padding:25px 10px;
float:left;
}
.sty ul ul{
display:none;
}
.met_clean_list:hover ul {
display:block;
background:red;
}
答案 0 :(得分:1)
这是因为您指定的悬停规则没有执行您希望的操作。
您已写过:如果我将鼠标悬停在.met_clean_list
上,请显示其中的所有ul
。
您要写的内容:如果我将鼠标悬停在li
之一上,则使以下ul
可见。
因此,您应该写.met_clean_list li:hover + ul
.sty {
background: #aaa;
float: left;
width: 600px;
}
.sty ul li {
list-style: none;
position: relative;
padding: 25px 10px;
float: left;
}
.sty ul ul {
display: none;
}
.met_clean_list li:hover + ul {
display: block;
background: red;
}
.sty ul ul:hover {
display: block;
}
<div class="sty">
<ul class="met_clean_list">
<li><a href="#">Link 01</a></li>
<ul>
<li><b><a href="#">Sublink 01</a></b></li>
<li><b><a href="#">Sublink 02</a></b></li>
</ul>
<li><a href="#">Link 02</a></li>
<li><a href="#">Link 03</a></li>
</ul>
</div>
注意,我也添加了:
.sty ul ul:hover {
display: block;
}
因此,当您将鼠标悬停在下拉菜单上时,下拉菜单不会消失。
答案 1 :(得分:1)
我希望这段代码对您有用
HTML:
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">Blog</a></li>
<li class="dropdown">
<a href="#" class="dropbtn">Dropdown</a>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</li>
</ul>
css:
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: left;
}
li a, .dropbtn {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover, .dropdown:hover .dropbtn {
background-color: red;
}
li.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
display: block;
}