gpt4 book ai didi

html - 子菜单 :before transition

转载 作者:太空宇宙 更新时间:2023-11-04 11:01:01 25 4
gpt4 key购买 nike

我正在尝试实现一个带有左边框的子菜单,它在悬停主导航元素时高度从 0% 过渡到 100%。由于某种原因,过渡不起作用。有帮助吗?

http://codepen.io/matthewmorrisux/pen/addLZE?editors=110

<div class="container">
<nav class="menu">
<ul>
<li class="menu__item"><a href="">Home</a></li>
<li class="menu__item"><a href="">About</a><ul class="sub-menu">
<li class="sub-menu__item"><a href="">Item 1</a></li>
<li class="sub-menu__item"><a href="">Item 2</a></li>
<li class="sub-menu__item"><a href="">Item 3</a></li>
</ul></li>
<li class="menu__item"><a href="">Process</a></li>
<li class="menu__item"><a href="">Contact</a></li>
</ul>
</nav>
</div>


.menu {
position: relative;
}

.menu__item {
position: relative;
display: inline-block;
padding: 20px;
}

.sub-menu {
position: absolute;
display: none;
}

.sub-menu:before {
content: '';
display: block;
position: absolute;
width: 2px;
height: 0px;
background: black;
transition: height 1s ease;
}

.menu__item:hover .sub-menu {
display: block;
}

.menu__item:hover .sub-menu:before {
content: '';
display: block;
position: absolute;
width: 2px;
height: 100px;
background: black;
transition: height 1s ease;
}

最佳答案

您正在使用 display 属性在 noneblock 之间切换可见性,这不适用于转换。

相反,尝试通过将高度设置为 0 来隐藏菜单及其内容:

.sub-menu {
position: absolute;
display: block;
height: 0;
overflow: hidden;
}

然后你的 .sub-menu 也需要一个高度:

.menu__item:hover .sub-menu {
display: block;
height: 100px;
}

http://codepen.io/anon/pen/addLPR?editors=110

关于html - 子菜单 :before transition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301254/

25 4 0