6-7 响应式导航条
本节编程练习不计算学习进度,请电脑登录imooc.com操作

响应式导航条

如今浏览Web页面的终端不在是一尘不变了,前面示例实现的导航条仅能适配于大屏幕的浏览器,但当浏览器屏幕变小的时候,就不适合了。因此响应式设计也就随之而来。那么在一个响应式的Web页面中,对于响应式的导航条也就非常的重要。例如Bootstrap框架官网的导航条:

(宽屏时效果)

(中屏时效果)

(窄屏时效果)

那么在这一节中,主要和大家探讨如何使用Bootstrap框架实现响应式导航条效果。

先来看HTML结构见右侧代码区。

使用方法:

1、保证在窄屏时需要折叠的内容必须包裹在带一个div内,并且为这个div加入collapse、navbar-collapse两个类名。最后为这个div添加一个class类名或者id名

2、保证在窄屏时要显示的图标样式(固定写法):

<button class="navbar-toggle" type="button" data-toggle="collapse">
  <span class="sr-only">Toggle Navigation</span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
</button>

3、并为button添加data-target=".类名/#id名",究竞是类名还是id名呢?由需要折叠的div来决定。如:

需要折叠的div代码段:

<div class="collapse navbar-collapse" id="example">
      <ul class="nav navbar-nav">
      …
      </ul>
</div>

窄屏时显示的图标代码段:

<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#example">
  ...
</button>

也可以这么写,需要折叠的div代码段:

<div class="collapse navbar-collapse example" >
      <ul class="nav navbar-nav">
      …
      </ul>
</div>

窄屏时要显示的图标:

<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".example">
  ...
</button>

 

任务

  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. <style type="text/css">
  8. body{padding:50px 0 0 0;}
  9. </style>
  10. </head>
  11.  
  12. <body>
  13. <!--代码-->
  14. <div class="navbar navbar-default" role="navigation">
  15. <div class="navbar-header">
  16.  <!-- .navbar-toggle样式用于toggle收缩的内容,即nav-collapse collapse样式所在元素 -->
  17. <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".navbar-responsive-collapse">
  18. <span class="sr-only">Toggle Navigation</span>
  19. <span class="icon-bar"></span>
  20. <span class="icon-bar"></span>
  21. <span class="icon-bar"></span>
  22. </button>
  23. <!-- 确保无论是宽屏还是窄屏,navbar-brand都显示 -->
  24. <a href="##" class="navbar-brand">慕课网</a>
  25. </div>
  26. <!-- 屏幕宽度小于768px时,div.navbar-responsive-collapse容器里的内容都会隐藏,显示icon-bar图标,当点击icon-bar图标时,再展开。屏幕大于768px时,默认显示。 -->
  27. <div class="collapse navbar-collapse navbar-responsive-collapse">
  28. <ul class="nav navbar-nav">
  29. <li class="active"><a href="##">网站首页</a></li>
  30. <li><a href="##">系列教程</a></li>
  31. <li><a href="##">名师介绍</a></li>
  32. <li><a href="##">成功案例</a></li>
  33. <li><a href="##">关于我们</a></li>
  34. </ul>
  35. </div>
  36. </div>
  37.  
  38. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  39. <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  40.  
  41. </body>
  42. </html>
下一节