bootstrap手风琴制作方法详解

发布时间 - 2026-01-10 22:27:48    点击率:

手风琴(Collapse)效果展示

Bootstrap 框架中 Collapse插件(折叠)其实就是我们常见的手风琴效果。点击标题,可以让其对应的内容显示或隐藏

<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">标题一</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">标题二</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">标题三</a></h4>
  </div>
  <div id="collapseThree" class="panel-collapse collapse">
   <div class="panel-body">标题三对应的内容</div>
  </div>
 </div>
</div>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>

手风琴–手风琴结构

手风琴最关键的部分,就是每个标题对应有一个内容,在Bootstrap框架中将这两个部分组合起来称为一个panel页板,如右边效果所示,他就有三个panel面板,将这三个面板组合在一起,就是一个面板组合 panel-group,也就是手风琴的结构。

简单点就是一个触发器和一个折叠区:

<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">触发器</button>
<div id="demo" class="collapse in">折叠区</div>

手风琴–声明式触发手风琴(二)

第三步,为了把标题和内容区捆绑在一起,可以通过锚链接的方法,把标题区域和面板区连在一起:

第四步,控制面板内容区是否可视。在Bootstrap框架中,如果你想让内容区域不可视,只需要在 panel-collapse 样式上添加 collapse:

每个面板的内容区都被隐藏起来了,变成不可视,但有时候希望默认第一个面板内容是可视的,
你只需要在collapse基础上再追加 in 样式:

手风琴–声明式触发手风琴(三)

第五步,激活手风琴交互行为。要完成交互行为,需要在标题链接中自定义两个属性,一个是data-toggle,并且取值为collapse;另一个是data-target,取值为各个面板内容区的标识符,比如说ID,

注意:在这个案例中不加入data-target=”#panel1”也可以,因为前面已经有了href=”#panel1”,但如是button按钮作为触发器就必须使用data-target=”#panel1”语句了。

第六步,定义data-parent属性,实现点击一个其中一个元素时,关闭所有的折叠区,再打开所单击的区域(如果所单击区域是展示的,则会关闭)。这个data-parent取值与手风琴面板容器的标识符相匹配,比如这个例子是指 #myAccordion

<div class="panel-group" id="myAccordion">
 <div class="panel panel-accordion panel-default">
  <div class="panel-heading">
   <h4 class="panel-title">
    <a href="#panel1" data-toggle="collapse" data-target="#panel1" data-parent="#myAccordion">标题一</a>
   </h4>
  </div>

☑ 使用 panel 的 panel-title 做为触元素,使用panel-body的父元素作为折叠区;
 ☑ 使用一个 panel-group 来包含多个 panel,从而实现手风琴效果;
 ☑ 每个 panel 里的触发元素都要指定data-parent属性;
 ☑ data-parent 属性的值对应 panel-group样式元素的ID或者其他样式标识符;
 ☑ 触发元素需要指定 data-toggle,并且值为 collapse;
 ☑ 触发元素都要指定 data-target属性;
 ☑ data-target属性的值对应 panel-body 的父元素的ID或者其他样式标识符。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# bootstrap  # 手风琴  # Bootstrap 手风琴菜单的实现代码  # 简洁实用的BootStrap jQuery手风琴插件  # Angular.js与Bootstrap相结合实现手风琴菜单代码  # 全面解析Bootstrap手风琴效果  # bootstrap折叠调用collapse()后data-parent不生效的快速解决办法  # Bootstrap基本插件学习笔记之折叠(22)  # Bootstrap每天必学之折叠(Collapse)插件  # Bootstrap每天必学之折叠  # Bootstrap创建可折叠的组件  # bootstrap手风琴折叠示例代码分享  # 值为  # 都要  # 或者其他  # 单击  # 如果你  # 在这个  # 第一个  # 多个  # 就有  # 基础上  # 是指  # 只需  # 要在  # 这两个  # 可以通过  # 自定义  # 所示  # 想让  # 其中一个  # 已经有了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用景安虚拟主机手机版绑定域名建站?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Mybatis 中的insertOrUpdate操作  网站制作企业,网站的banner和导航栏是指什么?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  中山网站制作网页,中山新生登记系统登记流程?  JS弹性运动实现方法分析  如何在Windows虚拟主机上快速搭建网站?  JavaScript Ajax实现异步通信  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  深入理解Android中的xmlns:tools属性  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  JS实现鼠标移上去显示图片或微信二维码  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel storage目录权限问题_Laravel文件写入权限设置  jQuery validate插件功能与用法详解  JS去除重复并统计数量的实现方法  如何快速生成专业多端适配建站电话?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  详解Android中Activity的四大启动模式实验简述  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何使用Telescope进行调试?(安装和使用教程)  Android实现代码画虚线边框背景效果  浅谈redis在项目中的应用  微信小程序 canvas开发实例及注意事项  如何获取上海专业网站定制建站电话?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel如何使用模型观察者?(Observer代码示例)  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  Laravel如何与Inertia.js和Vue/React构建现代单页应用  javascript中对象的定义、使用以及对象和原型链操作小结  java获取注册ip实例  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  在centOS 7安装mysql 5.7的详细教程  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  如何在香港免费服务器上快速搭建网站?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  南京网站制作费用,南京远驱官方网站?  Laravel如何处理异常和错误?(Handler示例)