2 Level CSS Drop Down Menu - display: none Does not Work -


i have designed 2-level css drop down menu. works perfect except 1 thing. want when hover on top menu item, 1st level drop down menu appears , when hover on item press in 1st level menu 2nd level menu items appear. problem when hover on top menu sub-menus appear altogether. means display: none not work. why happen , solution?

jsfiddle.net

html code

<ul id="nav"> <li><a href="/ueber_uns.htm">about us</a> <ul> <li><a href="#">who are</a></li> <li><a href="#">our goals</a></li> <li><a href="#">our team</a></li> <li><a href="#">press</a> <ul> <li><a href="#">2006</a></li> <li><a href="#">2007</a></li> <li><a href="#">2008</a></li> </ul> </li> <li><a href="#">impressum</a></li> </ul> </li> </ul> 

css code

ul#nav { margin: 0; padding: 0; list-style: none; text-align: center; /*display: table-cell; vertical-align: middle;*/ } ul#nav li { float: left; position: relative; font-size: 16px; background-color: orange; } ul#nav li li { font-size: 14px; } ul#nav ul { margin: 0; padding: 0; list-style: none; text-align: left; display: none; } ul#nav li:hover ul { display: block; position: absolute; } ul#nav a:link, ul#nav a:visited { display: block; width: 110px; padding: 10px 5px; text-decoration: none; color: #000; } ul#nav ul a:link, ul#nav ul a:visited { width: 135px; } ul#nav a:hover, ul#nav a:active { color: #fff; } ul#nav ul ul { position: absolute; top: 0; left: 100%; display: none; } ul#nav ul li:hover ul { display: block; } 

change this

ul#nav li:hover ul { display: block; position: absolute; } 

to this

ul#nav li:hover > ul { display: block; position: absolute; } 

example

basically ul#nav li:hover > ul targets secondary drop-down menu only, when hover on us, second level menu going show up, leaving third 1 hidden.


Comments

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -