考虑以下代码:
<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
提前致谢。