我使用这个页面的代码:CSS过渡工作不下来
现在,我的CSS是这样的:
.subs {
visibility: hidden;
opacity: 0;
transform: translateY(-2em);
z-index: -1;
transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
width: auto;
float: left;
position: absolute;
text-align: left;
border: 2px solid #66ec95;
background: #f4f7f5;
border-radius: 0 5px 5px 5px;
margin-top: -10px;
margin-left: -10px;
}
/* SELECTORS */
#nav li:hover > .subs { /* with this seletor, only the last property is working */
visibility: visible;
opacity: 1;
z-index: 1;
transform: translateY(0%);
transition-delay: 0s, 0s, 0.3s;
margin-top: 10px; /* just for test, only this is working */
}
#nav li :hover + .subs { /* this time, the animation are working but other problems occured (see above) */
visibility: visible;
opacity: 1;
z-index: 1;
transform: translateY(0%);
transition-delay: 0s, 0s, 0.3s;
}
我的HTML:
<ul id="nav">
<li aria-haspopup="true">
<a href="javascript:void(0)">Services</a>
<div class="subs" id="service-subs" aria-haspopup="false">
<a href="~/services/all">Product List</a><br />
<a href="~/services/projects">Projects</a><br />
</div>
</li>
... and so on
因此,.subs
的第二个选择器会显示动画,但当我将光标移动到.subs
时会中断,并且在显示菜单时由于光标检测.subs
而在显示时也会中断很多次。
此外,我不明白为什么它与兄弟选择器工作.subs
是#nav li
的孩子。
我在做什么错?
谢谢!
我没有看到你所提供的任何链接问题。你能解释那里有什么问题吗? – Dekel
特别是,当我使用第二个选择器并将鼠标移动到导航栏中的菜单项时,子菜单将滑下。但是当我想点击sebmenu中的链接时,它会消失。我发现一个socution:我添加“.subs:悬停”选择器到第二个。但是在这里出现了另一个问题,如果我将鼠标从底部移动到导航栏,动画将开始并且动画结束前浏览器检测到“.subs”。最后,动画立即结束,所以我的子菜单'传送'而不是幻灯片。 – NagyDani
我没有在你的例子中看到这个... – Dekel