欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  如果想要实现网页的二级导航,我们可以使用JS技术,动态的显示和隐藏二级菜单,当然也可以使用CSS技术来实现。并且这里推荐使用CSS,因为其效率更高,更流畅。这里将介绍二级菜单的动态显示与隐藏。
 
  1结构
 
  一般导航的主体我们主要是使用ulli标签
 
  
 
  
 
  <body>
 
  <header>
 
  <!--一级导航开始-->
 
  <nav>
 
  <ulclass="menu">
 
  <li>
 
  <ahref="#">首页</a>
 
  </li>
 
  <li>
 
  <ahref="#">产品</a>
 
  <!--二级导航开始-->
 
  <ulclass="submenu">
 
  <li><ahref="#">小程序</a></li>
 
  <li><ahref="#">微信</a></li>
 
  <li><ahref="#">企业站</a></li>
 
  </ul>
 
  <!--二级导航结束-->
 
  </li>
 
  <li>
 
  <ahref="#">服务</a>
 
  <!--二级导航开始-->
 
  <ulclass="submenu">
 
  <li><ahref="#">技术支持</a></li>
 
  <li><ahref="#">产品外包</a></li>
 
  </ul>
 
  <!--二级导航结束-->
 
  </li>
 
  <li><ahref="#">关于我们</a></li>
 
  <li><ahref="#">人才招聘</a></li>
 
  </ul>
 
  </nav>
 
  <!--一级导航结束-->
 
  </header>
 
  </body>
 
  2布局
 
  导航的布局,由于子元素要随着父元素,所以对二级菜单选取定位布局。要想让多个li在一行中显示,那么就需要让li进行浮动。
 
  
 
  
 
  body{margin:0;font-size:14px;color:#666}
 
  ul,ol{margin:0;padding:0;list-style:none;}
 
  a{text-decoration:none;color:#666;}
 
  /*一级导航*/
 
  /*背景色*/
 
  ul.menu,ul.submenu{
 
  background-color:#ededed;
 
  }
 
  /*一级导航浮动*/
 
  ul.menu::after{
 
  content:'';
 
  display:block;
 
  clear:both;
 
  }
 
  ul.menu>li{
 
  float:left;
 
  width:120px;
 
  line-height:3em;
 
  height:3em;
 
  text-align:center;
 
  cursor:pointer;
 
  }
 
  /*二级导航项分割线*/
 
  ul.submenu{
 
  /*默认隐藏*/
 
  display:none;
 
  }
 
  ul.submenu>li{
 
  border-bottom:1pxsolid#fff;
 
  }
 
  /*内容区*/
 
  .content{
 
  min-height:800px;
 
  background-color:#fff;
 
  }
 
  3.二级菜单显示特效
 
  光标放到导航上,当前元素背景色变深,字体颜色变淡。
 
  如果有二级菜单,显示二级菜单
 
  为了实现上述两个特效,我们可以利用伪类选择器(:hover)来捕捉光标悬浮的操作。并且使用伪类选择器(:hover)来选择到当前菜单对应的二级菜单
 
  利用如下CSS可以快速实现该特效。
 
  /*选中特效*/
 
  ul.menu>li:hover{
 
  background-color:#666;
 
  }
 
  ul.menu>li:hover>a{
 
  color:#fff;
 
  }
 
  ul.menu>li:hover>ul.submenu{
 
  display:block;
 
  }
 
  4.动画
 
  上述代码中二级菜单的显示是瞬间的。能否提供一个缓慢动画过渡的效果,当然也是没问题。这里需要使用animation来进行动画的配置,那么动画帧可以自己写或者是寻求第三方代码库(animate.css)的支持。这里我将使用透明度来实现这个淡入效果
 
  
 
  /*动画帧*/
 
  @keyframesfade{
 
  from{
 
  opacity:0;
 
  }
 
  to{
 
  opacity:1;
 
  }
 
  }
 
  /*基础动画样式*/
 
  .animated{
 
  animation-duration:1s;
 
  animation-fill-mode:both;
 
  }
 
  .fadeIn{
 
  animation-name:fade;
 
  animation-direction:normal;
 
  }
 
  动画定义好后,可以直接将动画样式引用到ul.submenu上,注意,如果使用的是animate.css,那么上述步骤将省略,直接用其提供好的动画样式即可。
 
  <!--二级导航开始-->
 
  <ulclass="submenuanimatedfadeIn">
 
  <li><ahref="#">小程序</a></li>
 
  <li><ahref="#">微信</a></li>
 
  <li><ahref="#">企业站</a></li>
 
  </ul>
 
  <!--二级导航结束-->






本文转载自中文网

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h55048.shtml