8.5 标签页
标签页和导航条的区别
本节所介绍的标签页和前一章所介绍的标签式导航、胶囊式导航非常相似,但二者存在一定的区别:
对于标签式导航、胶囊式导航,它们只是简单的导航链接
;而本节所介绍的标签页并不用于导航,而是用于切换底部的内容面板。
Bootstrap
的标签页插件依赖transition.js
和scrollspy.js
库。这两个JS库包含在bootstrap.js
或bootstrap.min.js
中。
8.5.1 静态标签页
Bootstrap
的标签页由如下两个部分组成。
- 导航组件:该导航组件与前面介绍的标签式导航、胶囊式导航完全相同。
- 内容面板:内容面板通常是一个被指定了
class="tab-content"
的<div>
元素,内容面板可以包含多个标签页,每个标签页又通常是一个被指定了class="tab-pane"
的<div>
元素。
程序示例
了解了标签页的结构之后,接下来即可按该结构来构建静态标签页组件。如下代码构建了一个简单的标签页。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <!DOCTYPE html> <html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1"> <title> 静态标签页 </title> <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="../bootstrap/css/bootstrap-theme.min.css"> </head>
<body> <div class="container"> <ul class="nav nav-tabs"> <li class="active"><a href="#">疯狂Java讲义</a></li> <li><a href="#">疯狂Android讲义</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">前端图书 <span class="caret"></span> </a> <ul class="dropdown-menu"> <li><a href="#">疯狂HTML 5讲义</a></li> <li role="separator" class="divider"></li> <li><a href="#">疯狂前端开发讲义</a></li> </ul> </li> </ul> <div class="tab-content"> <div class="tab-pane active"> <h3>疯狂Java讲义</h3> <p>必读的Java学习经典,你懂的,不多说。</p> </div> <div class="tab-pane"> <h3>疯狂Android讲义</h3> <p>最全面、最详细的Android学习图书,全面覆盖Android开发手册</p> </div> <div class="tab-pane"> <h3>疯狂HTML 5讲义</h3> <p>全面、细致的前端开发基础图书,全面深入介绍HTML 5/CSS 3/JavaScript知识。</p> </div> <div class="tab-pane"> <h3>疯狂前端开发讲义</h3> <p>前端开发的进阶图书,全面深入介绍jQuery/AngularJS/Bootstrap等框架。</p> </div> </div> </div> <script type="text/javascript" src="../jquery-3.1.1.js"></script> <script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script> </body>
</html>
|
在这个示例中,前面部分代码定义了一个标签式导航,这个标签式导航与前一章介绍的并没有任何区别。后面部分代码则用于定义标签页的内容面板,需要为内容面板指定class="tab-content"
,对内容面板的每个标签页都需要指定class="tab-pane"
样式。
这里将标签式导航的第一个导航链接设为激活状态,同时也将内容面板中第一个标签页设为激活状态,这样即可使标签状态与标签页状态保持一致。
本示例的标签页是静态的,还不能响应用户的操作,因此标签页不会随着用户鼠标单击而切换。
提示:本示例中的标签页上面的导航链接下还嵌套了下拉菜单,实际上不嵌套下拉菜单也是允许的,而且更加简单。