简体   繁体   中英

Hidden <ul> vanishes while hovering between <li> to it

Below I have a hidden <ul> which appears when the <li> 'More' is hovered over.

Due to the margin of the <li> , the <ul> dissapears when hovering between 'Extras' and the <ul> - how do I prevent this from happening?

 #container ul { list-style: none; margin: 0px; padding: 0px; } #container li { color: #fff; width: 80px; height: 60px; float: left; line-height: 60px; margin: 10px; background: black; } #container li a { display: block; } .extras:hover > ul.hidden { display: block; } ul.hidden { display: none; } 
 <div id="container"> <div class="center" style="text-align: center; display: inline-block;"> <nav> <ul class="nav"> <li>Example 1</li> <li>Example 2</li> <li class="extras">More <ul class="hidden"> <li>Hoverable</li> <li>Hoverable</li> <li>Hoverable</li> </ul> </li> <li>Example 3</li> <li>Example 4</li> </ul> </nav> </div> </div> 

Your ul tag is not getting height. Here try this

 #container ul { list-style: none; margin: 0px; padding: 0px; float:left; width:100%; } #container li { color: #fff; width: 80px; height: 60px; float: left; line-height: 60px; margin: 10px; background: black; } #container li a { display: block; } .extras:hover > ul.hidden { display: block; } ul.hidden { display: none; } 
 <div id="container"> <div class="center" style="text-align: center; display: inline-block;"> <nav> <ul class="nav"> <li>Example 1</li> <li>Example 2</li> <li class="extras">More <ul class="hidden"> <li>Hoverable</li> <li>Hoverable</li> <li>Hoverable</li> </ul> </li> <li>Example 3</li> <li>Example 4</li> </ul> </nav> </div> </div> 

Where you use float always remember to set layout of parent.

 #container .center { display: inline-block; vertical-align: top; text-align: center; } #container ul { list-style: none; padding: 0; margin: 0; } #container .nav:after { display: block; content: ''; clear: both; } #container .nav > li { margin: 10px; float: left; } #container ul li { position: relative; line-height: 60px; background: black; cursor: pointer; height: 60px; color: #fff; width: 80px; } #container ul li ul { position: absolute; top: 100%; left: 0; } #container ul ul li { margin-top: 10px; } #container ul li a { display: block; } .extras:hover > ul.hidden { display: block; } ul.hidden { display: none; } 
 <div id="container"> <div class="center"> <nav> <ul class="nav"> <li>Example 1</li> <li>Example 2</li> <li class="extras">More <ul class="hidden"> <li>Hoverable</li> <li>Hoverable</li> <li>Hoverable</li> </ul> </li> <li>Example 3</li> <li>Example 4</li> </ul> </nav> </div> </div> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM