css3 - 关于纯用css写导航鼠标移入事件的问题?
问题描述
如何纯用css去实现下面这个效果:
一级导航的第一个导航的二级导航默认是显示的(其他导航项目的二级导航是隐藏的display:none;),当鼠标移到一级导航的其他导航项目时,默认显示的第一个二级导航隐藏,与此同时,鼠标移入的导航项的二级导航显示,这时再移开鼠标时,回到默认状态(即显示第一个导航的二级导航)
和QQ音乐导航的效果差不多求解ㅜ.ㅜ
问题解答
回答1:大概是这样HTML:<ul class='nav'> <li><ul class='subnav'>...</ul> </li> <li><ul class='subnav'>...</ul> </li> <li><ul class='subnav'>...</ul> </li></ul>CSS:
.nav li:first-child .subnav{ display: block;}.nav:hover li:first-child .subnav{ display: none;}.nav:hover li:hover .subnav{ display: block;}回答2:
感觉可以通过写ul:hover和li:hover实现你说的效果,父节点hover类似于清除子节点的状态,子节点恢复hover状态
回答3:实现细节可参考 Eric Meyer谈CSS(卷2) ,原理其实就是1楼提到的对hover的处理
回答4:其实主要问题是如何控制第一个默认显示的二级菜单的显示和隐藏对吧?可以通过给整个一级导航ul添加一个外套nav来并利用其:hover实现显示控制。手机作答不方便写代码,明天早上起来试试。
看了楼上的答案,利用第一级导航菜单的ul和li即可了。
相关文章:
1. javascript - 百度坐标,返回目标附近有哪些坐标2. javascript - 关于jsp中嵌入js代码的问题3. javascript - 判断用户网络环境4. javascript - 对不同类别的id的物品中的某个字段做权重覆盖,除了直接使用if else语句还能有更优雅便于维护的方式吗?5. javascript - 一个JS多元运算符的问题6. javascript - 关于fullpage.js的横向滚动控制7. javascript - 为什么var obj = {}创建对象的方法里面不能用this.xxx来声明属性 ?8. javascript - 有什么兼容性比较好的办法来判断浏览器窗口的类型?9. javascript - 有一个异步获取数据的函数A,其他依赖这个A得到的数据的函数是否都必须是异步的?10. angular.js - angurlarJS的安卓的微信端中用加载ngCookies会出错的问题

网公网安备