本网站只能被运行在支持JavaScript脚本的环境中

第6章 列表、面板、可折叠式面板、标签及附加导航组件

本节概述

本节介绍如何使用Bootstrap中提供的列表、面板、可折叠式面板、标签及附加导航组件。

列表

在Web系统中列举多条信息时,需要使用到列表。现在介绍如何使用Bootstrap中提供的列表组件。

基本列表组

当使用列表组时,需要将ul元素的class属性值设置为“list-group”,将ul元素中的li元素的class属性值设置为“list-group-item”。

<ul class="list-group">
    <li class="list-group-item">商品1</li>
    <li class="list-group-item">商品2</li>
    <li class="list-group-item">商品3</li>
</ul>

可以根据列表项内容通过为li元素使用如下表所示的class来设置列表项的背景色。

用途 class 颜色
成功 list-group-item-success 绿色
信息 list-group-item--info 浅蓝色
警告或提醒注意 list-group-item-warning 桔色
错误或危险性提示 list-group-item-danger 红色
<ul class="list-group">
    <li class="list-group-item list-group-item-success">成功</li>
    <li class="list-group-item list-group-item-info">信息</li>
    <li class="list-group-item list-group-item-warning">注意</li>
    <li class="list-group-item list-group-item-danger">警告</li>
</ul>

当前选取项及禁止选取项

可以通过“active”class的使用来设置当前选取项的背景色,可以通过“disable”class的使用来设置禁止选取项的背景色。

<div class="list-group">
    <a href="#" class="list-group-item active">收信箱
        <span class="badge">5</span>
    </a>
    <a href="#" class="list-group-item">发信箱</a>
    <a href="#" class="list-group-item disabled">垃圾箱</a>
</div>

将列表项横向排列

可以使用inline-block这个class将列表项横向排列。

<ul class="list-group list-inline">
    <li class="list-group-item">成功</li>
    <li class="list-group-item">信息</li>
    <li class="list-group-item">注意</li>
    <li class="list-group-item">警告</li>
</ul>

面板

当需要将为内容使用边框进行美化时,可以使用面板组件。在Bootstrap中,为了让信息更容易理解,可以对面板组件添加头部或脚注。

基本面板

可以通过对div元素指定“panel”class来使用面板组件。对用于放置面板中内容的div元素指定“panel-body”class,这将为该内容添加一个细线边框。

<div class="panel panel-default">
    <div class="panel-body">
        面板内容
    </div>
</div>

具有头部与脚注的面板

当需要为面板添加头部时,需要将div元素的class属性值设置为“panel-heading”。当需要在头部添加标题时,需要将用于放置标题文字的元素的class属性值设置为“panel-title”。当使用脚注时,需要将div元素的class属性值设置为“panel-footer”。

<!-- 具有头部的面板 -->
<div class="panel panel-default">
    <div class="panel-heading">商品1</div>
    <div class="panel-body">
        商品1的说明
    </div>
</div>
<!-- 头部中具有标题 -->
<div class="panel panel-default">
    <div class="panel-heading">
        <h1 class="panel-title">商品2</h1>
        <h6 class="panel-title">副标题</h6>
    </div>
    <div class="panel-body">
        商品2的说明
    </div>
</div>
<!-- 具有脚注的面板 -->
<div class="panel panel-default">
    <div class="panel-body">
        商品3的说明
    </div>
    <div class="panel-footer">商品3</div>
</div>

设置面板样式

可以根据面板内容来设置面板的样式。可以使用的class如下表所示。

用途 class 颜色
默认 panel-default 白色
成功 panel-success 绿色
信息 panel-info 浅蓝色
警告或提醒注意 panel-warning 桔色
错误或危险性提示 panel-danger 红色
<div class="panel panel-default">
    <div class="panel-heading">商品1</div>
    <div class="panel-body">商品说明</div>
</div>
<div class="panel panel-success">
    <div class="panel-heading">商品2</div>
    <div class="panel-body">商品说明</div>
</div>
<div class="panel panel-info">
    <div class="panel-heading">商品3</div>
    <div class="panel-body">商品说明</div>
</div>
<div class="panel panel-warning">
    <div class="panel-heading">商品4</div>
    <div class="panel-body">商品说明</div>
</div>
<div class="panel panel-danger">
    <div class="panel-heading">商品5</div>
    <div class="panel-body">商品说明</div>
</div>

具有表格/列表的面板

可以在具有“panel-body”class属性值的用于放置面板内容的div元素中放置表格。

<div class="panel panel-default">
    <div class="panel-heading">购买书籍列表</div>
    <div class="panel-body">
        今日购买书籍:
        <table class="table">
            <tr>
                <th>书名</th>
                <th>价格</th>
            <tr>
            <tr>
                <td>《HTML 5与CSS 3权威指南》</td>
                <td>69元</td>
            <tr>
            <tr>
                <td>《Sencha Touch权威指南》</td>
                <td>72元</td>
            <tr>
            <tr>
                <td>《Node.js权威指南》</td>
                <td>88元</td>
            <tr>
        </table>
    </div>
</div>

同样地,可以在具有“panel-body”class属性值的用于放置面板内容的div元素中通过放置具有“list-group”class属性值的ul元素的方法来放置列表。

<div class="panel panel-default">
    <div class="panel-heading">购买书籍列表</div>
    <div class="panel-body">
        <p>今日购买书籍:</p>
        <ul class="list-group">
           <li class="list-group-item">《HTML 5与CSS 3权威指南》</li>
           <li class="list-group-item">《Sencha Touch权威指南》</li>
           <li class="list-group-item">《Node.js权威指南》</li>
        </ul>
    </div>
</div>

可折叠式面板

可折叠式面板组件可以让面板折叠起来,要使用该组件,必须引用bootstrap.js脚本文件或压缩版的 bootstrap.min.js脚本文件。

当使用可折叠式面板组件时,首先需要为包含多个面板的容器div元素“panel-group”class。

然后添加用于展开或折叠面板的a元素并且将该元素的data-toggle属性值设置为“collapse”。把该元素的data-parent属性值设置为"#"+多个面板的容器div元素ID。

在用于放置面板体的div元素(class属性值为panel-body)外层添加使用class属性值为panel-collapse及collapse(“panel-collapse collapse”)的div元素,如果需要设置页面打开时该面板体内容可见,则添加使用“in”class。把用于展开或折叠面板的a元素的href属性值设置为“#”+该div元素ID。

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                点击我进行展开,再次点击我进行折叠。第 1 部分
                </a>
            </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">
            面板内容
            </div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
                点击我进行展开,再次点击我进行折叠。第 2 部分
                </a>
            </h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse">
            <div class="panel-body">
            面板内容
            </div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
                    点击我进行展开,再次点击我进行折叠。第 3 部分
                </a>
            </h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse">
            <div class="panel-body">
            面板内容
            </div>
        </div>
    </div>
</div>

创建非手风琴式折叠面板

当只有一个面板组件时,我们不需要为用于展开或折叠面板的a元素使用data-parent属性,代码如下所示。

<button type="button" class="btn btn-primary" data-toggle="collapse"  data-target="#demo">
简单的可折叠组件
</button>
<div id="demo" class="collapse in">
面板内容
</div>

方法

折叠面板组件所具有的方法如下所示:

方法 描述 代码示例
collapse(options) 展开或收缩面板,接受一个可选的options对象 $('#identifier').collapse({toggle: false})
collapse('toggle') 切换显示/隐藏可折叠面板。 $('#identifier').collapse('toggle')
collapse('show') 显示可折叠面板。 $('#identifier').collapse('show')
collapse('hide') 隐藏可折叠面板。 $('#identifier').collapse('hide')
<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
                    点击我进行展开,再次点击我进行折叠。第 1 部分--hide 方法
                </a>
            </h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">
                面板内容
            </div>
        </div>
    </div>
    <div class="panel panel-success">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
                    点击我进行展开,再次点击我进行折叠。第 2 部分--show 方法
                </a>
            </h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse">
            <div class="panel-body">
            面板内容
            </div>
        </div>
    </div>
    <div class="panel panel-info">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
                    点击我进行展开,再次点击我进行折叠。第 3 部分--toggle 方法
                </a>
            </h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse">
            <div class="panel-body">
                面板内容
            </div>
        </div>
    </div>
    <div class="panel panel-warning">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseFour">
                    点击我进行展开,再次点击我进行折叠。第 4 部分--options 方法
                </a>
            </h4>
        </div>
        <div id="collapseFour" class="panel-collapse collapse">
            <div class="panel-body">
                面板内容
            </div>
        </div>
    </div>
</div>
<script type="text/javascript">
$(function () { $('#collapseFour').collapse({
    toggle: false
})});
$(function () { $('#collapseTwo').collapse('show')});
$(function () { $('#collapseThree').collapse('toggle')});
$(function () { $('#collapseOne').collapse('hide')});
</script>

事件

折叠面板组件所具有的事件如下表所示。

事件 描述 代码示例
show.bs.collapse 在调用show方法后触发该事件。 $('#identifier').on('show.bs.collapse', function () { // 执行一些动作... })
shown.bs.collapse 当折叠元素对用户可见时触发该事件(将等待 CSS 过渡效果完成)。 $('#identifier').on('shown.bs.collapse', function () { // 执行一些动作... })
hide.bs.collapse 当调用hide 实例方法时立即触发该事件。 $('#identifier').on('hide.bs.collapse', function () { // 执行一些动作... })
hidden.bs.collapse 当折叠元素对用户隐藏时触发该事件(将等待 CSS 过渡效果完成)。 $('#identifier').on('hidden.bs.collapse', function () { // 执行一些动作... })
<div class="panel-group" id="accordion">
    <div class="panel panel-info">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseexample">
                    点击我进行展开,再次点击我进行折叠。--shown 事件
                </a>
            </h4>
        </div>
        <div id="collapseexample" class="panel-collapse collapse">
            <div class="panel-body">
                面板内容
            </div>
        </div>
    </div>
</div>
<script type="text/javascript">
$(function () { 
    $('#collapseexample').on('show.bs.collapse',function () {
         alert('嘿,当您展开时会提示本警告');
   });
});
</script> 

标签

在Web系统中,当一个页面中展示的信息量过多时,我们通常需要将其分在几个标签中进行显示。在Bootstrap中提供标签部件,用于满足这一需求。标签的基本制作方法为将ul元素的class属性设置为“nav nav-tabs”。将ul元素中的li子元素的data-toggle属性值设置为“tab”。

可以通过将div元素的class属性值设置为“tab-content”的方法制作标签内容。另外,可以通过“fade”class来为标签内容的切换制作淡入淡出动画效果。可以为正处于选取状态的标签头部(li元素)使用active这个class。

<!--标签头部 -->
<ul class="nav nav-tabs">
    <li class="active"><a href="#menu1" data-toggle="tab">新增</a></li>
    <li><a href="#menu2" data-toggle="tab">修改</a></li>
    <li><a href="#menu3" data-toggle="tab">删除</a></li>
</ul>

<!--标签内容 -->
<div class="tab-content">
    <div class="tab-pane fade in active" id="menu1">新增标签中的内容</div>
    <div class="tab-pane fade" id="menu2">修改标签中的内容</div>
    <div class="tab-pane fade" id="menu3">删除标签中的内容</div>
</div>

将标签头两端对齐

可以通过为标签追加使用nav-justified这个class在标签内等宽度放置所有标签头,这样即使标签头再多其宽度都是相同的。

<ul class="nav nav-tabs nav-justified">
    :
</ul>

胶囊类型的标签头

胶囊类型的标签可以使当前被选取的标签头高亮显示,并具有圆角效果。其使用方法为为ul元素追加使用nav-pills这个class。

<ul class="nav nav-pills">
    :
</ul>

自定义示例

接下来介绍如何制作Web 2.0时代流行的具有发光效果的标签头,其CSS 3代码如下所示。

.nav-pills{
    background: #1e5799;
    background: -moz-linear-gradient(top, #1e5799 0%, #2989d8 50%, #207cca 51%, #7db9e8 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(50%,#2989d8), color-stop(51%,#207cca), color-stop(100%,#7db9e8));
    background: -webkit-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    background: -o-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    background: -ms-linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    background: linear-gradient(to bottom, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 );
    border-top: solid 1px #A8D5F8;
    border-bottom: solid 1px #18438F;
    box-shadow: 0 0 3px #000;
    border-radius: 5px;
}

.nav-pills>li>a{
    border-radius: 0;
    color: #fff;
    text-shadow: 0 0 3px #00154D,0 0 3px #00154D,0 0 3px #00154D,0 0 3px #00154D;
    font-weight: bold;
}

.nav-pills>li.active>a,
.nav-pills>li.active>a:hover,
.nav-pills>li.active>a:focus{
    color: #fff;
    background-color: rgba(255,255,255,0.3);
}

.nav-pills>li>a:hover,
.nav-pills>li>a:focus{
    background-color: rgba(255,255,255,0.3);
}

纵向排列胶囊型标签头

可以通过同时使用nav-pills与nav-stacked这两个class来纵向排列胶囊型导航。

<ul class="nav nav-pills nav-stacked"><!--或class="nav nav-tabs nav-stacked"-->
    :
</ul>

设置标签头的禁止状态

当需要提醒用户标签头不可点击时,可以为用于显示标签头的li元素指定“disabled”class。当用户鼠标指针靠近该标签头时,将自动出现禁用图标。

<ul class="nav nav-pills">
    <li class="active"><a href="#menu1" data-toggle="tab">新增</a></li>
    <li><a href="#menu2" data-toggle="tab">修改</a></li>
    <li class="disabled"><a href="#menu3" data-toggle="tab">删除</a></li>
</ul>

附加导航

附加导航组件允许某个div元素固定在页面的某个位置。

在使用该组件时必须引用bootstrap.js脚本文件或压缩版的 bootstrap.min.js脚本文件。

如需向元素添加附加导航(Affix)行为,只需向元素添加data-spy="affix" 即可。但是使用data-offset-top属性来定义何时切换元素的锁定和移动。

<!DOCTYPE html>
<html>
<head>
<title>BootStrap使用示例</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<style>
<style type="text/css">
ul.nav-tabs{
    width: 140px;
    margin-top: 20px;
    border-radius: 4px;
    border: 1px solid #ddd;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.067);
}
ul.nav-tabs li{
    margin: 0;
    border-top: 1px solid #ddd;
}
ul.nav-tabs li:first-child{
    border-top: none;
}
ul.nav-tabs li a{
    margin: 0;
    padding: 8px 16px;
    border-radius: 0;
}
ul.nav-tabs li.active a, ul.nav-tabs li.active a:hover{
    color: #fff;
    background: #0088cc;
    border: 1px solid #0088cc;
}
ul.nav-tabs li:first-child a{
    border-radius: 4px 4px 0 0;
}
ul.nav-tabs li:last-child a{
    border-radius: 0 0 4px 4px;
}
ul.nav-tabs.affix{
    top: 30px; /* 设置固定元素的顶部位置 */
}
</style>
</head>
<body data-spy="scroll" data-target="#myScrollspy">
<div class="container">
    <div class="jumbotron">
        <h1>Bootstrap附加导航</h1>
    </div>
    <div class="row">
        <div class="col-xs-3" id="myScrollspy">
            <ul class="nav nav-tabs nav-stacked" data-spy="affix" data-offset-top="125">
                <li class="active"><a href="#section-1">第一部分</a></li>
                <li><a href="#section-2">第二部分</a></li>
                <li><a href="#section-3">第三部分</a></li>
                <li><a href="#section-4">第四部分</a></li>
                <li><a href="#section-5">第五部分</a></li>
            </ul>
        </div>
        <div class="col-xs-9">
            <h2 id="section-1">第一部分</h2>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus nisl leo, blandit at bibendum eu, tristique eget risus. Integer aliquet quam ut elit suscipit, id interdum neque porttitor. Integer faucibus ligula.</p>
            <p>Vestibulum quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Ut tempus dictum risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potenti. Aliquam sit amet gravida nibh, facilisis gravida odio. Phasellus auctor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo ac dui quis, bibendum viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique, accumsan nunc eu, hendrerit tellus.</p>
            <hr>
            <h2 id="section-2">第二部分</h2>
            <p>Nullam hendrerit justo non leo aliquet imperdiet. Etiam in sagittis lectus. Suspendisse ultrices placerat accumsan. Mauris quis dapibus orci. In dapibus velit blandit pharetra tincidunt. Quisque non sapien nec lacus condimentum facilisis ut iaculis enim. Sed viverra interdum bibendum. Donec ac sollicitudin dolor. Sed fringilla vitae lacus at rutrum. Phasellus congue vestibulum ligula sed consequat.</p>
            <p>Vestibulum consectetur scelerisque lacus, ac fermentum lorem convallis sed. Nam odio tortor, dictum quis malesuada at, pellentesque vitae orci. Vivamus elementum, felis eu auctor lobortis, diam velit egestas lacus, quis fermentum metus ante quis urna. Sed at facilisis libero. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum bibendum blandit dolor. Nunc orci dolor, molestie nec nibh in, hendrerit tincidunt ante. Vivamus sem augue, hendrerit non sapien in, mollis ornare augue.</p>
            <hr>
            <h2 id="section-3">第三部分</h2>
            <p>Integer pulvinar leo id risus pellentesque vestibulum. Sed diam libero, sodales eget sapien vel, porttitor bibendum enim. Donec sed nibh vitae lorem porttitor blandit in nec ante. Pellentesque vitae metus ipsum. Phasellus sed nunc ac sem malesuada condimentum. Etiam in aliquam lectus. Nam vel sapien diam. Donec pharetra id arcu eget blandit. Proin imperdiet mattis augue in porttitor. Quisque tempus enim id lobortis feugiat. Suspendisse tincidunt risus quis dolor fringilla blandit. Ut sed sapien at purus lacinia porttitor. Nullam iaculis, felis a pretium ornare, dolor nisl semper tortor, vel sagittis lacus est consequat eros. Sed id pretium nisl. Curabitur dolor nisl, laoreet vitae aliquam id, tincidunt sit amet mauris.</p>
            <p>Phasellus vitae suscipit justo. Mauris pharetra feugiat ante id lacinia. Etiam faucibus mauris id tempor egestas. Duis luctus turpis at accumsan tincidunt. Phasellus risus risus, volutpat vel tellus ac, tincidunt fringilla massa. Etiam hendrerit dolor eget ante rutrum adipiscing. Cras interdum ipsum mattis, tempus mauris vel, semper ipsum. Duis sed dolor ut enim lobortis pellentesque ultricies ac ligula. Pellentesque convallis elit nisi, id vulputate ipsum ullamcorper ut. Cras ac pulvinar purus, ac viverra est. Suspendisse potenti. Integer pellentesque neque et elementum tempus. Curabitur bibendum in ligula ut rhoncus.</p>
            <p>Quisque pharetra velit id velit iaculis pretium. Nullam a justo sed ligula porta semper eu quis enim. Pellentesque pellentesque, metus at facilisis hendrerit, lectus velit facilisis leo, quis volutpat turpis arcu quis enim. Nulla viverra lorem elementum interdum ultricies. Suspendisse accumsan quam nec ante mollis tempus. Morbi vel accumsan diam, eget convallis tellus. Suspendisse potenti.</p>
            <hr>
            <h2 id="section-4">第四部分</h2>
            <p>Suspendisse a orci facilisis, dignissim tortor vitae, ultrices mi. Vestibulum a iaculis lacus. Phasellus vitae convallis ligula, nec volutpat tellus. Vivamus scelerisque mollis nisl, nec vehicula elit egestas a. Sed luctus metus id mi gravida, faucibus convallis neque pretium. Maecenas quis sapien ut leo fringilla tempor vitae sit amet leo. Donec imperdiet tempus placerat. Pellentesque pulvinar ultrices nunc sed ultrices. Morbi vel mi pretium, fermentum lacus et, viverra tellus. Phasellus sodales libero nec dui convallis, sit amet fermentum sapien auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eu elementum nibh, quis varius libero.</p>
            <p>Vestibulum quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Ut tempus dictum risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potenti. Aliquam sit amet gravida nibh, facilisis gravida odio. Phasellus auctor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo ac dui quis, bibendum viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique, accumsan nunc eu, hendrerit tellus.</p>
            <p>Phasellus fermentum, neque sit amet sodales tempor, enim ante interdum eros, eget luctus ipsum eros ut ligula. Nunc ornare erat quis faucibus molestie. Proin malesuada consequat commodo. Mauris iaculis, eros ut dapibus luctus, massa enim elementum purus, sit amet tristique purus purus nec felis. Morbi vestibulum sapien eget porta pulvinar. Nam at quam diam. Proin rhoncus, felis elementum accumsan dictum, felis nisi vestibulum tellus, et ultrices risus felis in orci. Quisque vestibulum sem nisl, vel congue leo dictum nec. Cras eget est at velit sagittis ullamcorper vel et lectus. In hac habitasse platea dictumst. Etiam interdum iaculis velit, vel sollicitudin lorem feugiat sit amet. Etiam luctus, quam sed sodales aliquam, lorem libero hendrerit urna, faucibus rhoncus massa nibh at felis. Curabitur ac tempus nulla, ut semper erat. Vivamus porta ullamcorper sem, ornare egestas mauris facilisis id.</p>
            <p>Ut ut risus nisl. Fusce porttitor eros at magna luctus, non congue nulla eleifend. Aenean porttitor feugiat dolor sit amet facilisis. Pellentesque venenatis magna et risus commodo, a commodo turpis gravida. Nam mollis massa dapibus urna aliquet, quis iaculis elit sodales. Sed eget ornare orci, eu malesuada justo. Nunc lacus augue, dictum quis dui id, lacinia congue quam. Nulla sem sem, aliquam nec dolor ac, tempus convallis nunc. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla suscipit convallis iaculis. Quisque eget commodo ligula. Praesent leo dui, facilisis quis eleifend in, aliquet vitae nunc. Suspendisse fermentum odio ac massa ultricies pellentesque. Fusce eu suscipit massa.</p>
            <hr>
            <h2 id="section-5">第五部分</h2>
            <p>Nam eget purus nec est consectetur vehicula. Nullam ultrices nisl risus, in viverra libero egestas sit amet. Etiam porttitor dolor non eros pulvinar malesuada. Vestibulum sit amet est mollis nulla tempus aliquet. Praesent luctus hendrerit arcu non laoreet. Morbi consequat placerat magna, ac ornare odio sagittis sed. Donec vitae ullamcorper purus. Vivamus non metus ac justo porta volutpat.</p>
            <p>Vivamus mattis accumsan erat, vel convallis risus pretium nec. Integer nunc nulla, viverra ut sem non, scelerisque vehicula arcu. Fusce bibendum convallis augue sit amet lobortis. Cras porta urna turpis, sodales lobortis purus adipiscing id. Maecenas ullamcorper, turpis suscipit pellentesque fringilla, massa lacus pulvinar mi, nec dignissim velit arcu eget purus. Nam at dapibus tellus, eget euismod nisl. Ut eget venenatis sapien. Vivamus vulputate varius mauris, vel varius nisl facilisis ac. Nulla aliquet justo a nibh ornare, eu congue neque rutrum.</p>
            <p>Suspendisse a orci facilisis, dignissim tortor vitae, ultrices mi. Vestibulum a iaculis lacus. Phasellus vitae convallis ligula, nec volutpat tellus. Vivamus scelerisque mollis nisl, nec vehicula elit egestas a. Sed luctus metus id mi gravida, faucibus convallis neque pretium. Maecenas quis sapien ut leo fringilla tempor vitae sit amet leo. Donec imperdiet tempus placerat. Pellentesque pulvinar ultrices nunc sed ultrices. Morbi vel mi pretium, fermentum lacus et, viverra tellus. Phasellus sodales libero nec dui convallis, sit amet fermentum sapien auctor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eu elementum nibh, quis varius libero.</p>
            <p>Morbi sed fermentum ipsum. Morbi a orci vulputate tortor ornare blandit a quis orci. Donec aliquam sodales gravida. In ut ullamcorper nisi, ac pretium velit. Vestibulum vitae lectus volutpat, consequat lorem sit amet, pulvinar tellus. In tincidunt vel leo eget pulvinar. Curabitur a eros non lacus malesuada aliquam. Praesent et tempus odio. Integer a quam nunc. In hac habitasse platea dictumst. Aliquam porta nibh nulla, et mattis turpis placerat eget. Pellentesque dui diam, pellentesque vel gravida id, accumsan eu magna. Sed a semper arcu, ut dignissim leo.</p>
            <p>Sed vitae lobortis diam, id molestie magna. Aliquam consequat ipsum quis est dictum ultrices. Aenean nibh velit, fringilla in diam id, blandit hendrerit lacus. Donec vehicula rutrum tellus eget fermentum. Pellentesque ac erat et arcu ornare tincidunt. Aliquam erat volutpat. Vivamus lobortis urna quis gravida semper. In condimentum, est a faucibus luctus, mi dolor cursus mi, id vehicula arcu risus a nibh. Pellentesque blandit sapien lacus, vel vehicula nunc feugiat sit amet.</p>
        </div>
    </div>
</div>
</body>
</html> 

可以通过JavaScript脚本代码手动为某个元素添加附加导航(Affix),代码如下所示:

<script type="text/javascript">
$(document).ready(function(){
    $("#myNav").affix({
        offset: { 
            top: 125 
     	}
    });
});
</script>
<ul class="nav nav-tabs nav-stacked" id="myNav">
...
</ul>