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. node.js - 我是一个做前端的,求教如何学习vue,node等js引擎?2. docker api 开发的端口怎么获取?3. docker网络端口映射,没有方便点的操作方法么?4. 老师,flex-shrink: 1; 按视频操作,不会自动缩放5. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?6. 如何解决docker宿主机无法访问容器中的服务?7. docker镜像push报错8. java - 为什么第一个线程已经释放了锁,第二个线程却不行?9. android glide asbitmap 在baseadpter中的问题10. css3 - 微信前端页面遇到的transition过渡动画的bug

网公网安备