我正在爲我的網站設置菜單。它已經完成了,只有一個細節讓我煩惱。看看下面的代碼片段。當我將鼠標懸停在父元素上時,該子元素隨着轉換而滑落。但是一旦鼠標離開父/子元素,子元素就會消失。當鼠標離開元素時,CSS轉換過早結束
我已經確定,當鼠標離開父/子元素時,子元素快速移出視圖(left: -9999px;
),在向上滑動轉換開始之前。
我該如何做到這一點,當鼠標離開菜單時,項目以相同的過渡類型向後滑動?有沒有CSS的解決方案,或者我也必須使用jQuery?
ul {
list-style: none;
padding: 0;
}
li {
width: 180px;
}
#menu ul ul {
left: -9999px;
position: absolute;
background: red none repeat scroll 0 0;
}
#menu li:hover>ul {
left: auto;
}
#menu ul ul li {
height: 0;
transition: height 0.2s ease 0s;
}
#menu ul ul ul {
margin-left: 100%;
top: 0;
}
#menu ul li:hover>ul>li {
height: 32px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="menu">
<ul>
<li>Parent Item
<ul>
<li>Child Item
<ul>
<li>Child Child Item</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
這是可能的純CSS,但你需要使用關鍵幀動畫,而不是轉型 - 關鍵幀,讓您一起根據時間表鏈中的多個動畫,這樣你就可以有菜單首先向上滑動,然後在向上滑動動畫完成後將其左移。 – delinear
(我會幫助一個例子,除了我要去學校跑步,道歉!) – delinear