html - 显示 : none; to display: block; won't work

标签 html css

所以,我有这个列表,其中只有列表中的第一项是可见的。当我将鼠标悬停在第一个元素上时,我希望能够看到其他元素。波纹管是我的代码,但它不起作用。悬停后,没有任何反应。

这是列表:

#manage {
  float: right;
  padding: 0px;
  margin: 0px;
}
#manage li {
  width: 100px;
  height: 30px;
  background-color: Aqua;
  text-align: center;
  list-style-type: none;
}
#header ul a {
  font-size: 25px;
  font-weight: normal;
  padding: 0px;
  margin: 0px;
  text-decoration: none;
  color: White;
}
.sub {
  margin-top: 3px;
  display: none;
}
li:hover .sub {
  display: block;
}
<ul id="manage">
  <li><a href="#">managment</a>
  </li>
  <li class="sub"><a href="#">Add</a>
  </li>
  <li class="sub"><a href="#">Edit</a>
  </li>
  <li class="sub"><a href="#">Account</a>
  </li>
</ul>

最佳答案

对您的 CSS 稍作调整就可以让它发挥作用。

如果您将第一个 li 定位为悬停,当前 CSS 选择器不仅会尝试选择子元素而不是兄弟元素,而且当您将鼠标悬停在任何元素上时,您的元素将立即消失现在可见的 li 元素,因此将您的 CSS 选择器重新定位到您的父 ul#manage 元素。

#manage:hover  .sub
{
    display:block;
}

#manage
{
    float:right;
    padding:0px;
    margin:0px;
}
#manage li
{
    width:100px;
    height:30px;
    background-color:Aqua;
    text-align:center;
    list-style-type:none;
}

#header ul a
{
    font-size:25px;
    font-weight:normal;
    padding:0px;
    margin:0px;
    text-decoration:none;
    color:White;
}

.sub 
{
    margin-top:3px;
    display:none;
}
#manage:hover > .sub
{
    display:block;
}
<ul id="manage">
        <li><a href="#">managment</a></li>
        <li class="sub"><a href="#">Add</a></li>
        <li class="sub"><a href="#">Edit</a></li>
        <li class="sub"><a href="#">Account</a></li>
        </ul>

关于html - 显示 : none; to display: block; won't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33809473/

相关文章:

javascript - 使用 jQuery 获取 TR 索引时出错

javascript - 开关盒 :multiple switch boxes are not working in my page

asp.net - 如何在移动浏览器中有效地使用动态 CSS?

jquery - 更改背景颜色并选择按键的值

javascript - 如何创建相互依赖的下拉列表

javascript - 为什么 jquery sortable 不适用于 Canvas ?

css position sticky 不适用于 bootstrap 4 类行

javascript - 如何更改CSS中指定的图像的宽度和高度

html - 网站 div 在 Firefox 中无法正确显示

javascript - jquery 检查表单是否为空白时出错