下拉菜单无法正常工作

时间:2018-08-22 20:48:49

标签: css menu hover dropdown submenu

子菜单无法正常工作。将鼠标悬停在特定项目上时应显示,但将鼠标悬停在任何项目上时将出现

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;
}

https://jsfiddle.net/59opc6tj/119/

2 个答案:

答案 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;
}

演示: https://jsfiddle.net/faridvatani/54qypuds/