考虑以下代码:
<ul class="nav">
  <li>
    <a href="#">Menu Item 1</a>
  </li>
  <li>
    <a href="#">Menu Item 2</a>
    <ul>
      <li>
        <a href="#">Menu Item 1</a>
      </li>
      <li>
        <a href="#">Menu Item 2</a>
      </li>
      <li>
        <a href="#">Menu Item 3</a>
      </li>
    </ul>
  </li>
  <li>
    <a href="#">Menu Item 3</a>
  </li>
</ul>
以上只是一个标准菜单和子菜单,我最初使用屏幕外隐藏子菜单,left: -999em但我正在尝试为不透明度设置动画,以便当您将鼠标悬停在父项上时子菜单淡入/淡出:
.nav li:hover ul {
  left: 0;
  opacity: 1;
}
.nav ul {
  position: absolute;
  top: 100%;
  left: -999em;
  opacity: 0;
  transition: opacity .3s linear;
}
然而,菜单只会淡入,鼠标移出时它会隐藏而没有动画。我相信这是由于该left: -999em属性,如果我将其设置为left: 0它可以正常工作,但是当您将鼠标悬停在它上时子菜单切换时,即使它被隐藏,我也会遇到这个错误。是否可以以这种方式对不透明度进行动画处理?
这是代码示例:http ://codepen.io/javirvd/pen/zseln
提前致谢。