5-15 导航(基础样式)
本节编程练习不计算学习进度,请电脑登录imooc.com操作

导航(基础样式)

导航对于一位前端人员来说并不陌生。可以说导航是一个网站重要的元素组件之一,可以便于用户查找网站所提供的各项功能服务。导航的制作方法也是千奇百怪,五花八门。在这一节中将向大家介绍如何使用Bootstrap框架制作各式各样的导航。

在Bootstrap框架将导航独立出来成为一个导航组件,根据不同的版本,可以找到对应的源码:

   ☑ LESS版本:对应的源文件是navs.less

   ☑ Sass版本:对应的源文件是_navs.scss

   ☑ 编译后版本:对应源码是bootstrap.css文件第3450行~第3641行

导航基础样式

Bootstrap框架中制作导航条主要通过“.nav”样式。默认的“.nav”样式不提供默认的导航样式,必须附加另外一个样式才会有效,比如“nav-tabs”、“nav-pills”之类。比如右侧代码编辑器中就有一个tab导航条的例子,他的实现方法就是为ul标签加入.navnav-tabs两个类样式

/*源码请查阅bootstrap.css文件第3450行~第3493行*/

.nav {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav> li {
  position: relative;
  display: block;
}
.nav> li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav> li >a:hover,
.nav> li >a:focus {
  text-decoration: none;
  background-color: #eee;
}
.nav>li.disabled> a {
  color: #999;
}
.nav>li.disabled>a:hover,
.nav>li.disabled>a:focus {
  color: #999;
  text-decoration: none;
  cursor: not-allowed;
  background-color: transparent;
}
.nav .open > a,
.nav .open >a:hover,
.nav .open >a:focus {
  background-color: #eee;
  border-color: #428bca;
}
.nav .nav-divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav> li > a >img {
  max-width: none;
}

 

任务

分析导航的css样式代码

  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. <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10. <ul class="nav nav-tabs">
  11. <li><a href="##">Home</a></li>
  12. <li><a href="##">CSS3</a></li>
  13. <li><a href="##">Sass</a></li>
  14. <li><a href="##">jQuery</a></li>
  15. <li><a href="##">Responsive</a></li>
  16. </ul>
  17. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  18. <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  19. </body>
  20. </html>
  1. body{margin:30px;padding:30px;}
下一节