全面解析Bootstrap手风琴效果

本文介绍如何使用Bootstrap框架实现手风琴效果,包括面板组合设计、内容添加、隐藏与显示控制及交互行为激活等步骤。

触发手风琴可以通过自定义的data-toggle 属性来触发。其中data-toggle值设置为 collapse,data-target="#折叠区标识符"。

第一步:设计一个面板组合,里面有三个折叠区:

1 <div class="panel-group" id="myAccordion">  
2   <div class="panel panel-accordion panel-default"></div>  
3   <div class="panel panel-accordion panel-default"></div>  
4   <div class="panel panel-accordion panel-default"></div>  
5 </div> 

第二步:给面板添加内容,每个面板包括两个部分,第一个是面板标题 panel-heading,并且在这里面添加标题 panel-title。第二个部分是面板内容,也就是折叠区,使用 panel-collapse 样式。

1 <div class="panel panel-accordion panel-default">  
2   <div class="panel-heading">  
3     <h4 class="panel-title">标题一</h4>  
4   </div>  
5   <div class="panel-collapse">  
6     <div class="panel-body">折叠区内容...</div>  
7   </div>  
8 </div>  

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

 1 <div class="panel-group" id="myAccordion">  
 2   <div class="panel panel-accordion panel-default">  
 3     <div class="panel-heading">  
 4       <h4 class="panel-title"><a href="#panel1">标题一</a></h4>  
 5     </div>  
 6     <div class="panel-collapse" id="panel1">  
 7       <div class="panel-body">折叠区内容...</div>  
 8     </div>  
 9   </div>  
10   <div class="panel panel-accordion panel-default">  
11     <div class="panel-heading">  
12       <h4 class="panel-title"><a href="#panel2">标题二</a></h4>  
13     </div>  
14     <div class="panel-collapse" id="panel2">  
15       <div class="panel-body">折叠区内容...</div>  
16     </div>  
17   </div>  
18   ......  
19 </div>  

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

    每个面板的内容区都被隐藏起来了,变成不可视,但有时候希望默认第一个面板内容是可视的,需要怎么办?其实Bootstrap作者早就为大家做了这方面的考虑,你只需要在collapse基础上再追加 in 样式.

1 <div class="panel panel-accordion panel-default">  
2   <div class="panel-heading">  
3     <h4 class="panel-title"><a href="#panel1">标题一</a></h4>  
4   </div>  
5   <div class="panel-collapse collapse" id="panel1">  
6     <div class="panel-body">折叠区内容...</div>  
7   </div>  
8 </div>  

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

1 div class="panel panel-accordion panel-default">  
2   <div class="panel-heading">  
3     <h4 class="panel-title"><a href="#panel1" data-toggle="collapse" data-target="#panel1">标题一</a></h4>  
4   </div>  
5   <div class="panel-collapse collapse in" id="panel1">  
6     <div class="panel-body">折叠区内容...</div>  
7   </div>  
8 </div> 
注意:在这个案例中不加入data-target="#panel1"也可以,因为前面已经有了href="#panel1",但如是button按钮作为触发器就必须使用data-target="#panel1"语句了。

第六步:定义data-parent属性,实现点击一个其中一个元素时,关闭所有的折叠区,再打开所单击的区域(如果所单击区域是展示的,则会关闭)。这个data-parent取值与手风琴面板容器的标识符相匹配,比如这个例子是指 #myAccordion:
1 <div class="panel-group" id="myAccordion">  
2   <div class="panel panel-accordion panel-default">  
3     <div class="panel-heading">  
4       <h4 class="panel-title">  
5         <a href="#panel1" data-toggle="collapse" data-target="#panel1" data-parent="#myAccordion">标题一</a>  
6       </h4>  
7     </div>  
8 ...  

七. 完整代码

 1 <div class="panel-group" id="accordion">  
 2   <div class="panel panel-default">  
 3     <div class="panel-heading">  
 4       <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">标题一</a></h4>  
 5     </div>  
 6     <div id="collapseOne" class="panel-collapse collapse in">  
 7       <div class="panel-body">标题一对应的内容</div>  
 8     </div>  
 9   </div>  
10   <div class="panel panel-default">  
11     <div class="panel-heading">  
12       <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">标题二</a></h4>  
13     </div>  
14     <div id="collapseTwo" class="panel-collapse collapse">  
15       <div class="panel-body">标题二对应的内容</div>  
16     </div>  
17   </div>  
18   <div class="panel panel-default">  
19     <div class="panel-heading">  
20       <h4 class="panel-title"><a data-toggle="collapse"data-parent="#accordion"href="#collapseThree">标题三</a></h4>  
21     </div>  
22     <div id="collapseThree" class="panel-collapse collapse">  
23       <div class="panel-body">标题三对应的内容</div>  
24     </div>  
25   </div>  
26 </div>  

效果图

转载于:https://www.cnblogs.com/yuwenjing0727/p/7085905.html

标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景与意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究与应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计与管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全与数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计与实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现与测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试与分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化与改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值