2015-06-27 86 views
0

我想讓下拉菜單淡入/淡出。我試圖添加不透明和懸停,但我無法弄清楚。如何使下拉菜單淡入和淡出過渡?

nav ul li:hover > .midbox { 
    opacity:1; 
    transition: all 0.5s ease; 
} 

我比.midbox設置opacity:0施加相同的過渡。 下面是一個例子的小提琴。

https://jsfiddle.net/skf5v0Lw/

我應該用其他的元素懸停狀態影響到下拉的狀態?

回答

1

CSS轉換不上display物業工作。改爲使用visibility。它也應該設置在下拉式UL上而不是內部元素上。

/* Hide Dropdowns by Default 
* and giving it a position of absolute */ 
nav ul ul { 
    /* display: none; */ 
    position: absolute; 
    width: 800px; 
    top: 60px; 
    opacity: 0; 
    visibility: hidden; 
    transition: all 0.5s ease; 
} 

/* Display Dropdowns on Hover */ 
nav ul li:hover > ul { 
    /* display:block; */ 
    opacity: 1; 
    visibility: visible; 
} 

https://jsfiddle.net/skf5v0Lw/5/

+0

如果你將鼠標懸停在導航欄下方的空間,會出現下拉菜單。只有當您將鼠標懸停在「產品」鏈接上時纔會顯示。是否有這個錯誤的原因? – okok

+0

@okok您的原始演示中是否也會出現* bug *?我不確定你指的是什麼。 – Stickers

+0

這不會發生在我的演示中。要查看我在說什麼,請將鼠標懸停在「項目」上。下拉菜單將出現。之後用光標,在下拉到黑色背景下方。然後,將光標放在黑色背景上,嘗試將光標移回 - 您將看到不應顯示的下拉菜單。它應該只在您將鼠標懸停在鏈接上時纔會顯示。如果你看到我指的是什麼,請告訴我。 – okok