浅析Bootstrap中Tab(标签页)的使用方法

2023-10-31

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-targethref指定对应的面板。

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

  • 通过 data 属性:

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

添加 navnav-tabs类到导航区ul中,将会应用 Bootstrap标签样式,添加navnav-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')

实现原理

1、单击一个元素时,首先将原来高亮的元素取消
2、然后给被单击元素进行高亮
3、如果单击元素是下拉框中某个选项,则选中本身,还要选中下拉框
4、如果定义了动画,先执行动画,然后回调

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 【Unity 3D】学习笔记(三)

    基本操作演练 下载 Fantasy Skybox FREE 构建自己的游戏场景 天空是任何游戏离不开的设定 而且要按季节与时间变化 是表示时间的重要工具 天空盒是一种材料 我们可以通过六面体构建一个天空盒 首先点击Asset上下文菜单 gt
  • shineblink APDS-9960传感器感应手势

    APDS 9960感应手势 一 本例程实现功能 二 传感器应用限制说明 三 接线图 五 完整代码 六 代码运行结果 一 本例程实现功能 通过APDS 9960传感器模块感应在传感器表面正上方的 上 下 左 右 手势动作 二 传感器应用限制说
  • 学习笔记(01):java美妆商城项目

    立即学习 https edu csdn net course play 23989 290220 utm source blogtoedu 第一节笔记 1 前端 jsp css javascript jQuery js框架 bootstra
  • SpringBoot+MyBatisPlus+thymeleaf增删改查

    SpringBoot MyBatisPlus thymeleaf增删改查 文章目录 SpringBoot MyBatisPlus thymeleaf增删改查 前言 作者简介 在校学生一枚 Java领域新星创作者 Java正在学习中 期待和大
  • 【Python习题集6】类与对象

    类与对象 一 实验内容 二 实验总结 一 实验内容 1 设计一个Circle类来表示圆 这个类包含圆的半径以及求面积和周长的函数 在使用这个类创建半径为1 10的圆 并计算出相应的面积和周长 半径为1的圆 面积 3 14 周长 6 28 半
  • SSH、shell、Xshell 、bash、Git、Git bash 、Git shell区别与联系

    SSH是安全外壳协议 为 Secure Shell 的缩写 SSH 为建立在应用层和传输层基础上的安全协议 专为远程登录会话和其他网络服务提供安全性的协议 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题 SSH工具 有一个软件叫
  • vscode 函数没有引入提示_VSCODE编译头文件时函数没有定义的解决方案(VSCODE手动链接C文件方法)...

    在使用VSCODE进行C语言程序设计时 如果用到了头文件声明函数 c文件定义函数 在编译时尽管已经引用了相应的头文件 VSCODE文本编辑器也没有报错 但仍然无法编译 错误提示如下 d ComputerHomework 2019 winte
  • Java导入导出json

    1 导入依赖
  • 模式识别与操作符在CEP中的应用

    模式识别与操作符在CEP中的应用 随着大数据技术的快速发展 复杂事件处理 Complex Event Processing CEP 成为了处理实时流数据的重要工具 CEP通过对实时数据流进行高级模式识别和复杂操作符的运算 可以从海量数据中提
  • 微信小程序基础面试题【29道】

    这里写目录标题 1 请谈谈wxml与标准的html的异同 2 请谈谈WXSS和CSS的异同 3 请谈谈微信小程序主要目录和文件的作用 4 请谈谈小程序的双向绑定和vue的异同 5 简单描述下微信小程序的相关文件类型 6 微信小程序有哪些传值
  • 大数据毕设选题 - 疫情数据分析可视化系统(python flask 爬虫)

    文章目录 0 前言 1 课题背景 2 实现效果 2 1 整体界面展示 2 2 31省病例柱形图 2 3 全国现有确诊人数趋势 2 4 中国累计确诊时间线 2 5 中国疫情情况饼状图 2 6 高风险树状图 3 相关理论及技术 3 1爬虫 3
  • <VTK(0)> VTK8.2+VS2019环境配置

    VTK8 2 VS2019编译 最近用到VTK库 打算重新编译 发现能找到的资源中VTK库的编译比较详细 但是VS的环境配置比较乱 这里简述VTK的源码编译并提供VS环境配置的保姆教学 准备工作 1 安装VS2019 自查 Visual S
  • 阿里P7大牛整理!腾讯、阿里Android高级面试真题汇总,经典好文

    开头 相信大多数互联网的从业者都有着这样一个梦想 进大厂 获得丰厚的薪酬 和更优秀的人一起共事 在技术上获得更快的成长 然而部分人其实一直都陷入了 穷忙 的困局 觉得自己每天白天黑夜都在工作 高强度输出 但是却并没有获得机会的眷顾 久而久之
  • 生成随机颜色和随机数的生成

    1 随机颜色生成 方法1 var color parseInt Math random 0XFFFFFF toString 16 方法2 var color rgba parseInt Math random 256 parseInt Ma
  • [ZZ]【电子电路】上下拉电阻总结

    上下拉电阻总结 SkySeraph整理 2009 6 上拉电阻 1 当TTL电路驱动COMS电路时 如果TTL电路输出的高电平低于COMS电路的最低高电平 一般为3 5V 这时就需要在TTL的输出端接上拉电阻 以提高输出高电平的值 TTL
  • 基于yolov5交通标志识别(毕业设计)

    1 数据集 TT100K数据集 是由清华与腾讯的联合实验室整理并公布的 提供的10万张图像包含了30000个交通标志 图像来源于由6个像素很高的广角单反相机在中国的多个城市拍摄的腾讯街景全景图 拍摄地点的光照条件 天气条件有所不同 原始的街
  • 浅谈 forEach()

    用于遍历数组 无返回值 let arr 1 2 3 4 arr forEach function item index array array index item 2 console log arr 2 4 6 8 可以看到 forEac
  • 【C++入门】深拷贝和浅拷贝详解

    1 深拷贝和浅拷贝 1 当我们对复杂类型 结构体或者类 的对象进行初始化时 如果将同类型的对象A赋值给同类型的对象B 此时就涉及深拷贝和浅拷贝的问题 2 如何定义拷贝的深和浅 浅拷贝就是把类 结构体的变量原封不动的赋值 不考虑指针变量 深拷
  • 蓝桥杯-山(java)

    问题描述 这天小明正在学数数 他突然发现有些正整数的形状像一座 山 比如 123565321 145541 它们左右对称 回文 且数位上的数字先单调不减 后单调不增 小明数了很久也没有数完 他想让你告诉他在区间 2022 202222202

随机推荐

  • 调试osgEarth(六)earth文件如何解析成Config

    感谢 hankern 学习资料链接在https blog csdn net hankern article details 83933739 前面提到了创建插件osgDB earthd dll 和加载了该插件 就该读取和解析了 先看如何读取
  • java mysql连接两张表_java连接数据库对两张表进行查询对比的小项目

    下面是客户端的启动代码 public static void main String args throws UnknownHostException IOException TODO Auto generated method stub
  • sshd登录问题: pam_unix(sshd:session): session closed for user root

    报错 pam unix sshd session session closed for user root 工位上使用ssh无法root登录 其他账户也一样 1 踢账户 反复发作 who pkill kill t pts 1 who 2 期
  • Qt for iOS 应用使用自定义动态库 Framework

    转自 https www mycode net cn language cpp 2768 html 本文内容适合当你想使用 Qt 调用 xcode 开发的动态库 framework 做 iOS 应用的场景 文中涉及到原始动态库 framew
  • 牛客题库—软件测试(二)

    设计系统测试计划需要参考的项目文挡有哪些 答案 ACD A 软件测试计划 B 可行性研究报告 C 软件需求规范 D 迭代计划 软件需求 是软件开发之前做好的 软件开发是根据这个做的 那么软件测试自然也需要参考该文件 迭代计划 是软件的某个周
  • Netty简介及应用场景

    什么是Netty Netty 是一个基于 JAVA NIO 类库的异步通信框架 它的架构特点是 异步非阻塞 基于事件驱动 高性能 高可靠性和高可定制性 Netty是基于Java NIO client server的网络应用框架 使用Nett
  • Linux centos搭建web服务器

    文章目录 前言 1 本地搭建web站点 2 测试局域网访问 3 公开本地web网站 3 1 安装cpolar内网穿透 3 2 创建http隧道 指向本地80端口 3 3 配置后台服务 4 配置固定二级子域名 5 测试使用固定二级子域名访问本
  • Linux配置都对ping静态地址ping不通解决方案(亲测搞了很久)

    CentOS7配置静态网络ping www baidu com或114 114 114 114 失败 首先root用户下vim etc sysconfig network scripts ifcfg ens33 esc wq 保存退出 se
  • 立体仓库货架设计

    目 录 摘要 3 Abstract 4 1 绪论 5 2 AS RS仓库主要参数确定 12 2 1单元货格尺寸的确定
  • u盘中病毒解决方法 (文件夹变成exe文件)

    上机课的电脑机子有毒 u盘刚插上去 就中病毒了 文件夹都变成exe文件了 上课就只顾杀毒 救我的u盘了 下面是我的杀毒 挽救u盘里的文件的具体步骤 亲测好用有效 1 下个 火绒 安全软件 链接 https www huorong cn 然后
  • 如何用css画出三角形

  • c++将数字转换为字符串

    include
  • C语言——计算阶层求和

    利用两次for循环进行求和 include
  • 中国跨境电商品牌营销白皮书

    导读 报告显示 近年来 中国品牌在走向国际市场的过程中面临着诸多挑战 跨文化 和 品牌形象接受度低 成为中国品牌在海外营销中的主要问题 由于国内外文化存在差异 中国品牌在营销方面遇到了困难 许多品牌往往照搬国内的广告模式 无法吸引国外消费者
  • SVG主要的画图元素以及几个基本的几何图形介绍

    本文主要介绍SVG画图中的两种主要画图元素 Path和Text 以及SVG的几个基本的几何形状 如线条 折线 多边形 椭圆 矩形 圆等等 本文主要采取理论 例子的方式来介绍 这种方式向来都是解释介绍的王道 同时也是学习的一种好方法 第一 首
  • 413 Request Entity Too Large

    一 字面意思是请求体太大 一般出现在上传文件 二 主要问题 Nginx默认最大能够上传1MB文件 大于1MB的文件自然无法上传 打开nginx conf 没权限找运维人员 在http 中设置 client max body size 50m
  • empire-web可视化

    首先说明我的安装系统为kali 教程同样适用于ubantu系统 1 首先安装Empire 没有安装的可以去先参考其他教程安装 2 下载empire web git clone https github com interference se
  • 【Python 笔记】Linux下安装pip方法的全总结

    本文研究记录了 Linux 下安装 pip 的全部方法 文章目录 1 通过 Linux 系统的包管理工具安装 1 1 apt 包管理工具安装 pip 1 1 1 安装 1 1 2 升级 1 1 3 issue5599 1 2 yum 包管理
  • 矩阵分解——谱分解

    文章目录 先修知识 幂等矩阵 谱分解定理 谱分解的流程 谱分解的推论 谱分解的应用 先修知识 幂等矩阵 谱分解定理 谱分解的流程 谱分解的推论 谱分解的应用
  • 浅析Bootstrap中Tab(标签页)的使用方法

    Bootstrap 导航元素使用相同的标记和基类 改变修饰的class 可以在不同的样式间进行切换 如 nav pills 胶囊式导航 与 nav tabs 标签式导航 创建一个标签式的导航菜单 以一个带有class nav 的无序列表开始