侧边栏导航跟随案例

来源: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。

这个嵌套的有点多,不容易理解,你可以一层层的分析下。

祝学习愉快~

0

0 学习 · 36712 问题

查看课程