5-18 导航(垂直堆叠的导航)
本节编程练习不计算学习进度,请电脑登录imooc.com操作

导航(垂直堆叠的导航)

在实际运用当中,除了水平导航之外,还有垂直导航,就类似前面介绍的垂直排列按钮一样。制作垂直堆叠导航只需要在“nav-pills”的基础上添加一个“nav-stacked”类名即可:

<ul class="nav nav-pills nav-stacked">
     <li class="active"><a href="##">Home</a></li>
     <li><a href="##">CSS3</a></li>
     <li><a href="##">Sass</a></li>
     <li><a href="##">jQuery</a></li>
     <li class="disabled"><a href="##">Responsive</a></li>
</ul>

运行效果如下:

垂直堆叠导航与胶囊形导航相比,主要是让导航项不浮动,让其垂直排列,然后给相邻导航项留有一定的间距:

/*源码请查阅bootstrap.css文件第3578行~第3584行*/

.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}

大家是否还记得,在下拉菜单一节中,下拉菜单组与组之间有一个分隔线。其实在垂直堆叠导航也具有这样的效果,只需要添加在导航项之间添加“<li class=”nav-divider”></li>”即可:

<ul class="nav nav-pills nav-stacked">
    <li class="active"><a href="##">Home</a></li>
    <li><a href="##">CSS3</a></li>
    <li><a href="##">Sass</a></li>
    <li><a href="##">jQuery</a></li>
   <li class="nav-divider"></li>
    <li class="disabled"><a href="##">Responsive</a></li>
</ul>

运行效果如下:

实现样式:

/*源码请查阅bootstrap.css文件第3485行~3490行*/

.nav .nav-divider {
height: 1px;
margin: 9px 0;
overflow: hidden;
background-color: #e5e5e5;
}

或许你会问,如果我在”nav-tabs”上添加“nav-stacked”是不是也能实现垂直的标签选项导航呢?答案是:在bootstrap V2.x版本可以,但在Bootstrap V3.x版本将这个效果取消了,可能作者觉得垂直选择项并不太常见,也不美观吧。

 

任务

我来试试:完成下面任务

编写代码实现“垂直导航”,效果图如下:

备注:这一小节没有正确性验证,请查看结果窗口,从而判断输入代码是否正确。

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>垂直堆叠的导航</title>
  6. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  7. </head>
  8. <body>
  9. <ul class="nav nav-pills nav-stacked">
  10. <li class="active"><a href="##">Home</a></li>
  11. <li><a href="##">CSS3</a></li>
  12. <li><a href="##">Sass</a></li>
  13. <li><a href="##">jQuery</a></li>
  14. <li class="disabled"><a href="##">Responsive</a></li>
  15. </ul>
  16. <br />
  17. <ul class="nav nav-pills nav-stacked">
  18. <li class="active"><a href="##">Home</a></li>
  19. <li><a href="##">CSS3</a></li>
  20. <li><a href="##">Sass</a></li>
  21. <li><a href="##">jQuery</a></li>
  22. <li class="nav-divider"></li>
  23. <li class="disabled"><a href="##">Responsive</a></li>
  24. </ul>
  25. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  26. <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  27. </body>
  28. </html>
  1. body{margin:30px;padding:30px;}
下一节