美文网首页我爱编程
Bootstrap - 导航2

Bootstrap - 导航2

作者: wooke | 来源:发表于2018-02-06 10:55 被阅读28次

    导航加下拉菜单(二级导航)

    前面介绍的都是使用Bootstrap框架制作一级导航,但很多时候,在Web页面中是离不开二级导航的效果。那么在Bootstrap框架中制作二级导航就更容易了。只需要将li当作父容器,使用类名“dropdown”,同时在li中嵌套另一个列表ul,使用前面介绍下拉菜单的方法就可以:

    <ul class="nav nav-pills">
         <li class="active"><a href="##">首页</a></li>
         <li class="dropdown">
            <a href="##" class="dropdown-toggle" data-toggle="dropdown">教程<span class="caret"></span></a>
            <ul class="dropdown-menu">
                <li><a href="##">CSS3</a></li>
                …
           </ul>
         </li>
         <li><a href="##">关于我们</a></li>
    </ul>
    

    运行效果如下:

    image
    通过浏览器调试工具,不难发现,点击有二级导航的菜单项,会自动添加“open”类名,再次点击就会删除添加的“open”类名:

    image

    简单点来说,就是依靠这个类名来控制二级导航显示与否,并且设置了背景色和边框:

    /*源码查看bootstrap.css文件第3479行~3484行*/
    
    .nav .open > a,
    .nav .open >a:hover,
    .nav .open >a:focus {
    background-color: #eee;
    border-color: #428bca;
    }
    

    大家回忆一下,在制作下拉菜单时,可以用分隔线,那么在二级导航中是否可以呢?我们一起来看看:

    不用再说太多,只需要添加“<li class=”nav-divider”></li>”这样的一个空标签就可以了。

    运行效果如下:

    image
    /*源码请查看bootstrap.css文件第3485行~第3490行*/
    
    .nav .nav-divider {
      height: 1px;
      margin: 9px 0;
      overflow: hidden;
      background-color: #e5e5e5;
    }
    

    面包屑式导航

    面包屑(Breadcrumb)一般用于导航,主要是起的作用是告诉用户现在所处页面的位置(当前位置)。在Bootstrap框架中面包屑也是一个独立模块组件:

    • LESS版本:对应源文件breadcrumbs.less
    • Sass版本:对应源文件_breadcrumbs.scss
    • 编译出来的版本:源码对应bootstrap.css文件第4112行~第4129行
      使用方法:

    使用方式就很简单,为ol加入breadcrumb类:

    <ol class="breadcrumb">
      <li><a href="#">首页</a></li>
      <li><a href="#">我的书</a></li>
      <li class="active">《图解CSS3》</li>
    </ol>
    

    实现原理:

    看来不错吧!作者是使用li+li:before实现li与li之间的分隔符,所以这种方案在IE低版本就惨了(不支持)。

    /*源码查看bootstrap.css文件第4112行~第4129行*/
    
    .breadcrumb {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px;
    }
    
    .breadcrumb> li {
    display: inline-block;
    }
    
    .breadcrumb> li + li:before {
    padding: 0 5px;
    color: #ccc;
    content: "/\00a0";
    }
    
    .breadcrumb> .active {
    color: #999;
    }
    

    相关文章

      网友评论

        本文标题:Bootstrap - 导航2

        本文链接:https://www.haomeiwen.com/subject/rqxgzxtx.html