补一个坑,之前一直写css二级导航时,鼠标经过顶部菜单,隐藏的二级导航会显示出来,而且鼠标移初顶部导航并移入二级导航时,隐藏导航不应该立即消失,而是要继续显示!

看如下布局的html及css代码:

 <li>
                 <a href="#">联通</a>
                 <ul class="nav_ul_ul">
                    <li>电信</li>
                    <li>联通</li>
                    <li>移动</li>
                 </ul>
 </li>

css代码如下:

li a:hover ~ ul{display:block;}

这样的话,就会出现我们开始说的bug,鼠标移出,ul里面的内容立马跟着不显示了,要是用户想点击里面的“移动”,根本点击不到,那么怎么解决呢?继续看

解决办法:

鼠标经过,隐藏和显示外边的盒子元素就会出现这个问题,那么将需要隐藏显示的模块,放到“a”元素里面,变成a的子元素,或者将css改为经过li时,模块显示,代码如下:

方法一:

 <li>
 <a href="#">联通
                 <ul class="nav_ul_ul">
                    <li>电信</li>
                    <li>联通</li>
                    <li>移动</li>
                 </ul>
</a>
               
 </li>

方法二:

li:hover a ul{display:block;}

这样就能完整的实现一个二级的导航了!