3-2 选项卡--选项卡的结构
本节编程练习不计算学习进度,请电脑登录imooc.com操作

选项卡--选项卡的结构

一个选项卡主要包括两个部分,其一是菜单项,其二是内容面板。拿下面的示例来做演示。其HTML结构如下:

<!-- 选项卡组件(菜单项nav-tabs)-->
<ul id="myTab" class="nav nav-tabs" role="tablist">
    <li class="active"><a href="#bulletin" role="tab">公告</a></li>
    <li><a href="#rule" role="tab">规则</a></li>
    <li><a href="#forum" role="tab">论坛</a></li>
    <li><a href="#security" role="tab">安全</a></li>
    <li><a href="#welfare" role="tab">公益</a></li>
</ul>
<!-- 选项卡面板 -->
<div id="myTabContent" class="tab-content">
    <div class="tab-pane fade in active" id="bulletin">公告内容面板</div>
    <div class="tab-pane fade" id="rule">规则内容面板</div>
    <div class="tab-pane fade" id="forum">论坛内容面板</div>
    <div class="tab-pane fade" id="security">安全内容面板</div>
    <div class="tab-pane fade" id="welfare">公益内容面板</div>
</div>

关键一点,选项卡中链接的锚点要与对应的面板内容容器的ID相匹配。

在Bootstrap框架中选项卡nav-tabs已带有样式,前面在介绍导航一节中有详细介绍。而对于面板内容tab-pane都是隐藏的,只有当前面板内容才是显示的:

/*bootstrap.css文件第3758行~第3763行*/
.tab-content > .tab-pane {
    display: none;
}
.tab-content > .active {
    display: block;
}

运行效果见最右侧结果窗口:

但这个Tabs没有任何交互功能,点击选项卡不会进行内容的切换。不过不用急,接下来的内容将告诉你如何实现内容与选项卡之间的切换。

任务

  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. <!-- 选项卡组件(菜单项nav-tabs)-->
  11. <ul id="myTab" class="nav nav-tabs" role="tablist">
  12. <li class="active"><a href="#bulletin" role="tab">公告</a></li>
  13. <li><a href="#rule" role="tab">规则</a></li>
  14. <li><a href="#forum" role="tab">论坛</a></li>
  15. <li><a href="#security" role="tab">安全</a></li>
  16. <li><a href="#welfare" role="tab">公益</a></li>
  17. </ul>
  18. <!-- 选项卡面板 -->
  19. <div id="myTabContent" class="tab-content">
  20. <div class="tab-pane fade in active" id="bulletin">公告内容面板</div>
  21. <div class="tab-pane fade" id="rule">规则内容面板</div>
  22. <div class="tab-pane fade" id="forum">论坛内容面板</div>
  23. <div class="tab-pane fade" id="security">安全内容面板</div>
  24. <div class="tab-pane fade" id="welfare">公益内容面板</div>
  25. </div>
  26. <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
  27. <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  28. </body>
  29. </html>
  1. body{padding:10px;}
下一节