2010-06-18 27 views
0

如果我設置了可見性:隱藏在嵌套的li元素上,如何將其設置爲懸停?如何設置嵌套列表的「懸停」

例如。

#menu li ul li { 
visibility: hidden; 
} 

我想:

#menu li ul li:hover { 
visibility: visible; 
} 

但它不工作 - 這麼清楚我沒有語法正確的!

歡呼

回答

3

visibility: hidden隱藏元素,不留hoverable表面,所以絕不會有一個hover事件觸發。

嘗試opacity: 0(或甚至opacity: 0.00001,目前還不確定表面是否保留0)以獲得所需的效果。請注意,IE < 8需要特殊處理(filter: alpha(opacity=0)

其他瀏覽器還需要其他opacity設置,請查看@Nick Craver的鏈接獲取完整列表。

+2

+1 - 這是正確的,雖然你需要包括一些[不同瀏覽器的其他不透明度值](http://css-tricks.com/css-transparency-settings-for-all-broswers/) – 2010-06-18 10:38:45

+0

@Nick好點,你當然,不僅僅是IE不能總是處理「不透明」問題。我爲此添加了一個註釋。 – 2010-06-18 10:40:34

+0

這不會在ie6中工作,因爲lis不允許懸停 - 這需要與ie6中的JS – matpol 2010-06-18 10:45:27

2

爲什麼不能在每個<裏添加子包裝>這樣的(可能是AP或者一個div):

<li><p>dadada</p></li> 

然後,對於造型:

#menu ul li p { 
visibility: hidden; 
} 

#menu ul li:hover p { 
visibility: visible; 
} 
+0

+1在大多數情況下,這將是最好,最簡單的方法。 – 2010-06-18 10:52:14

+0

+1絕對優雅 – nottinhill 2010-08-08 18:38:25