侧边栏导航跟随案例
来源:4-2 侧边栏导航跟随案例
qq_修炼者_0
2017-08-16 18:48:57
<!DOCTYPE html> <html> <head> <title>position</title> <meta charset="utf-8"> <style type="text/css"> *{ padding :0; margin: 0; } .page{ width: 100%; height:4043px; background: url(mooc.png) center top no-repeat; } .nav{ width: 160px; height: auto; border: 1px solid blue; position: fixed; left:0; top:50%; margin-top:-103px; } .nav-list{ width:160px; height: auto; line-height: 40px; text-align: center; border-bottom: 1px dashed #fff; background: #333; } .nav-list ul{ width: 160px; height: auto; display: none; } .nav-list ul li{ width:160px; height: auto; line-height: 40px; text-align: center; list-style: none; background: #fff; border-bottom: 1px solid #333; position: relative; } .nav-list:hover ul{ display: block; } .nav-list3{ /*元素隐藏*/ width: 160px; height: auto; display: none; } .nav-list3 ul{ /*边框四边 位置定位*/ width:160px; height: auto; border: 1px solid #333; position: absolute; left: 160px; top:0; /*display: none; */ } .nav-list3 ul li{ /*文字居中 边框底部 背景颜色*/ width:160px; height: 40px; line-height: 40px; text-align: center; list-style: none; color:red; background: #fff; border-bottom: 1px solid #333; } .nav-list ul li:hover .nav-list3{ display: block; } </style> </head> <body> <div class="page"> <div class="nav"> <div class="nav-list">慕课网标题 <ul> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> </ul> </div> <div class="nav-list">慕课网标题 <ul> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> <li>二级目录</li> <li>二级目录</li> </ul> </div> <div class="nav-list">慕课网标题 <ul> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> <li>二级目录</li> <li>二级目录</li> </ul> </div> <div class="nav-list">慕课网标题 <ul> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> <li>二级目录</li> <li>二级目录</li> </ul> </div> <div class="nav-list">慕课网标题 <ul> <li>二级目录 <div class="nav-list3"> <ul> <li>三级目录</li> <li>三级目录</li> <li>三级目录</li> </ul> </div> </li> <li>二级目录</li> <li>二级目录</li> </ul> </div> </div> </div> </body> </html>
老师帮我看一下代码,基本效果是出来了,但是我有两个疑问
1 .nav-list{....} 和.nav-list ul{.....}为什么要分开修饰 我试过合在一起不行,display:none 不起作用,为什么?
2 二级项目的隐藏 display:none 属性为什么不能放在.nav-list {....}里而是要在.nav-list ul{.....} 而三级项目的隐藏display:none 属性要放在.nav-list3{....} 而不能放在.nav-list3 ul{.....}
1回答
好帮手慕糖
2017-08-16
你好,(1)这两个作用于不同的元素, .nav-list·是嵌套ul的div要正常显示的,二ul是隐藏的列表内容,自然不能一起修饰。
(2)nav-list里面还有“慕课网标题”这个也因此了,那就没什么显示的了呀,.nav-list3不隐藏,那么就会正常显示个盒子,自然不行呀,你设置下li隐藏,应该就可以明白了。其实这里是最后一级了,也可以不嵌套div,直接将nav-list3设置给ul。
这个嵌套的有点多,不容易理解,你可以一层层的分析下。
祝学习愉快~
相似问题