Bootstrap 导航元素使用相同的标记和基类,改变修饰的class,可以在不同的样式间进行切换
如".nav-pills"(胶囊式导航)与 “.nav-tabs” (标签式导航)

创建一个标签式的导航菜单:

以一个带有class .nav 的无序列表开始。
添加 class .nav-tabs。
下面的实例演示了这点:

<!-- 导航区 -->

<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li role="presentation"><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li role="presentation"><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
<li role="presentation"><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
</ul> <!-- 面板区 -->
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="home">...</div>
<div role="tabpanel" class="tab-pane" id="profile">...</div>
<div role="tabpanel" class="tab-pane" id="messages">...</div>
<div role="tabpanel" class="tab-pane" id="settings">...</div>
</div>

结果如下显示:

创建一个胶囊式的导航菜单:

如果需要把标签改成胶囊的样式,只需要使用".nav-pills"

代替".nav-tabs"即可,其他的步骤与上面相同。

结果如下所示:

标签页用法

标签页组件分为两部分,导航区与面板区。导航区用于绑定点击事件,切换对应的面板。
导航区为一个<ul>列表,要求<ul>带"nav nav-tabs“或”nav nav-pills"这两种类名。<li>下的标签要求有data-toggle="tab"属性,你可以通过data-target或href指定对应的面板。

面板区容器要求带"tab-content“类名,下面的每个面板都要求带”tab-pane"类名。

  • 通过 data 属性:

添加 data-toggle="tab"或 data-toggle="pill"到导航区ul中来启用标签页。

添加 nav 和nav-tabs类到导航区ul中,将会应用 Bootstrap标签样式,添加nav 和 nav-pills类到导航区ul中,将会应用Bootstrap胶囊式样式。

这样你直接引入 bootstrap.js 就能用了,但你必须为当中某个标签页的<li>元素指定"active"类名(active:激活当前对象)

<!-- 导航区 -->  

  <ul class="nav nav-tabs" role="tablist">  

  <li role="presentation" class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>    <li role="presentation"><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>  <li role="presentation"><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>   <li role="presentation"><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>

</ul>   

<!-- 面板区 --> 

<div class="tab-content">    <div role="tabpanel" class="tab-pane active" id="home">...</div>  

  <div role="tabpanel" class="tab-pane" id="profile">...</div>  

  <div role="tabpanel" class="tab-pane" id="messages">...</div>  

  <div role="tabpanel" class="tab-pane" id="settings">...</div> 

</div>
  • 通过 JavaScript:

也可以使用 Javscript 来启用标签页,如下所示:

       $(function () {
$('#myTab a:last').tab('show');//初始化显示哪个tab $('#myTab a').click(function (e) {
e.preventDefault();//阻止a链接的跳转行为
$(this).tab('show');//显示当前选中的链接及关联的content
})
})

注:

如果你想用JavaScript明确指定哪个面板被激活,你要对它的某个标签页的链接使用tab("show")方法,而不是作用于它的容器上。并且如果使用javascript实现这种导航内容的切换,a标签中无须再添加data-toggle='tab',当然,如果每个a链接都使用了此属性,那完全没有必要在用js来实现了

下面的实例演示了以不同的方式来激活各个标签页:

// 通过名称选取标签页

      $('#myTab a[href="#profile"]').tab('show')  

// 选取第一个标签页  

      $('#myTab a:first').tab('show')   

      // 选取最后一个标签页  

      $('#myTab a:last').tab('show')    

// 选取第三个标签页(从 0 开始索引)  

      $('#myTab li:eq(2) a').tab('show')
 

浅析Bootstrap中Tab(标签页)的使用方法的更多相关文章

  1. Bootstrap插件——(Tab)标签页

    项目中用到了Bootstrap的(Tab)标签页插件,记录如下: 代码如下: <div class="tabbable"> <ul class="nav ...

  2. 在Bootstrap开发中解决Tab标签页切换图表显示问题

    在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...

  3. jquery插件之tab标签页或滑动门

    该插件乃本博客作者所写,目的在于提升作者的js能力,也给一些js菜鸟在使用插件时提供一些便利,老鸟就悠然地飞过吧. 此插件旨在实现目前较为流行的tab标签页或滑动门特效,在此插件中默认使用的是鼠标滑过 ...

  4. 如何一行jquery代码写出tab标签页(链式操作)

    啦啦!今天又学了一招,js写几十行的tab标签页jquery写一行就行啦,用到了链式操作!以下是代码: <!DOCTYPE html> <html lang="en&quo ...

  5. Easyui 关闭jquery-easui tab标签页前触发事件

    关闭jquery-easui tab标签页前触发事件 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 需求场景 点击父页面tab 页关闭按钮时,需要做判断,判 ...

  6. VIM 实现tab标签页及分屏,切换命令

    1,在一个窗口中,VIM 的小tab标签页命令:   :tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab :tabc       关闭当前的tab ...

  7. 【vue】vue中实现标签页

    前言 tab标签页实现很多, 纯css实现, js实现等, 外加一些特殊动画. vue中实现标签页实现 keep-alive标签和is特性 vue-router中嵌套路由 is特性实现(推荐) 优点: ...

  8. ExtJS配置TabPanel可以拖拽Tab标签页

    1.环境说明 ExtJS版本:7.4.0.42 Sencha Cmd: v7.5.1.20 开发工具:WebStorm 2022.1.1 PS:如果是老版本的ExtJS,引入Ext.ux.TabReo ...

  9. bootStrap中Tab页签切换

    关于$().tab()一般用来实现标签页和胶囊链接内容片段的切换,或是相关内容的页面导航: <ul class="nav nav-tabs" id="myTab&q ...

  10. bootstrap中tab切换的使用

    文档地址:https://v3.bootcss.com/javascript/#tabs 简单实例: <!DOCTYPE html> <html lang="en" ...

随机推荐

  1. office重装后,office365弹窗去除的终极方法

    Office重装后,残留的office365的弹窗让人很厌烦: 解决方法: 1. WIN+R,运行注册表编辑器:regedit 2.顶部复制以下两个路径,将左侧对应的OEM文件夹删除,即可. HKEY ...

  2. Shiro简单入门+个人理解(2)

    今天开始了Shiro认证及授权的部分,认证及授权是Shiro的主要功能,虽然Shiro还具有加密等功能,但在实际开发时,很少会使用到,在公司一般都有自己的一套加密方式,具体我就不说话了,毕竟有保密协议 ...

  3. 比特币源码分析--深入理解区块链16.Base58编码和解码

    比特币源码分析--深入理解区块链16.Base58编码和解码   Base58是比特币中使用的一种独特编码方式,它主要用于比特币的钱包地址,在前面文章已经介绍过如何通过椭圆曲线方程算法,通过私钥来生成 ...

  4. Hutool excel导出

    easyExcel 文档不是很友好,所以转用hutool 工具导出excel,百度到的很多都没多少营养,略作总结,望君不吝赐教.该篇博客可以让你画出不是太复杂的excel 如:   image.png ...

  5. DevNow x Notion

    前言 Notion 应该是目前用户量比较大的一个在线笔记软件,它的文档系统也非常完善,支持多种文档格式,如 Markdown.富文本.表格.公式等. 早期我也用过一段时间,后来有点不习惯,就换到了 O ...

  6. Qt编写物联网管理平台36-通信协议

    一.前言 本系统默认采用modbus协议,支持串口和网络rtu模式,后期还会引入其他通信协议比如mqtt等,可以在端口管理中下拉选择通信协议即可. 1.1 通信流程 整体的结构是:控制器挂在通信端口, ...

  7. Qt设置运行时动态库路径的几点说明

    随着需求的不断增加,程序不断变大,用到的动态库也越来越多,到了发布程序的时候你会发现和可执行文件同一目录下文件数量真多(比如著名的金融软件 https://www.webull.com/ 哎呀我去,目 ...

  8. WxPython跨平台开发框架之复杂界面内容的分拆和重组处理

    复杂界面内容的分拆和重组处理是现代软件开发中常见的做法,尤其在开发大型应用程序时,可以大幅提升开发效率.可维护性和用户体验.通过将复杂的界面内容分拆成更小的模块,每个模块都专注于单一功能或组件,代码更 ...

  9. OpenCV4.1.0编译时提示“CV_BGR2GRAY”: 未声明的标识符

    OpenCV版本为4.1.0 使用CV_BGR2GRAY时报错: "CV_BGR2GRAY": 未声明的标识符 解决方法一:添加头文件:#include <opencv2/i ...

  10. 计算机视觉中由基本矩阵F或者本质矩阵E计算摄像机投影矩阵时,经常提到“相差一个尺度因子”的含义

    在通过二维像素坐标恢复三维坐标的过程中,经常出现这个齐次坐标系.尺度不变性的概念.这篇博客讲的比较好. 一.关于齐次坐标系的直观感受 在我们的世界里,两平行线是永远不会相交的,但是在投影空间里,两条平 ...