我使用這個頁面的代碼: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