利用bootstrap 4 完成折叠效果

开发工具与关键技术:Adobe Dreamweaver CC 2017 折叠
作者:孙水兵
撰写时间:2019年2月10

在平时,我们可能需要将一部分内容隐藏,再通过按钮在下方显示出来。这时,我们就可以通过bootstrap 4 中的Collapse来完成。
一、关于collapse

  1. collapse 类用于指定一个折叠元素 (实例中的 div标签); 点击按钮后会在隐藏与显示之间切换。
  2. 控制内容的隐藏与显示,需要在a>标签或 button标签 元素上添加 data-toggle=“collapse” 属性。 data-target="#id" 属性是对应折叠的内容 (<div id=“demo”)。
  3. 注意:a标签元素上你可以使用 href 属性来代替 data-target 属性
    通过类更改显示和隐藏另一个class包含的元素:
    .collapse 隐藏内容
    .collapsing 带动态效果的切换
    .collapse.show 显示内容
    二、前期准备
    引入bootstrap 4 CSS文件(bootstrap.min.css)、JS文件(bootstrap.min.js)以及jQuery文件
<link rel="stylesheet" href="bootstrap-4.1.3-dist/css/bootstrap.min.css">
<script src="JS/jquery-3.2.1.min.js"></script>
<script src="bootstrap-4.1.3-dist/js/bootstrap.min.js"></script>

三、实例
在下方单个显示
HTML
用button写按钮,在button标签中用a标签写折叠,在a标签中加data-toggle="collapse"属性,在href中 写与内容对应类名(要加上类选择器)。再用div标签包裹隐藏的内容,在div中加class属性,class中加collapse以及href中相同的类名。然后再写要包裹的内容。

<button class="btn btn-primary"><a href=".bg-color" class="text-white" data-toggle="collapse">背景颜色</a></button>
<div class="collapse bg-color">
   <div class="card card-body">
    <ol>
   	<li class="bg-primary text-white">1. bg-primary(重要的背景颜色)</li>
   	<li class="bg-success text-white">2. bg-success(执行成功背景颜色)</li>
    </ol>
   </div>
</div>

多个目标
切换第一个元素按钮用a标签写,在a标签中加class属性,在class中加上btn的类与collapse,再加上data-toggle="collapse"属性,在href中 写与内容对应id(要加上id选择器)。切换第二个元素按钮与切换这两个元素按钮用button标签写,与a标签同样的加class属性,在class中加上btn的类与collapse,再加上data-toggle="collapse"属性,在切换第二个元素按钮中的data-target中 写与内容对应id(要加上id选择器)。在切换这两个元素按钮中的data-target中 写一个类名(要加上类选择器)。用网格布局写其隐藏的内容,在所有col下的标签中的class中加上在上方写切换这两个元素按钮中的data-target的类名。(如要刚开始时的内容为隐藏,将show去掉)。

<div>
<!--aria-expanded:表示展开状态。默认为undefined, 表示当前展开状态未知。
其它可选值:true表示元素是展开的;false表示元素不是展开的。-->
   <a class="btn btn-primary collapsed" data-toggle="collapse" href="#multiCollapseExample1" aria-expanded="true">
   切换第一个元素
   </a>
   <button class="btn btn-primary collapsed" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="true">
   切换第二个元素
   </button>
   <button class="btn btn-primary collapsed" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false">
   切换这两个元素
   </button>
   <div class="row">
   	<div class="col">
   		<div class="multi-collapse collapse show" id="multiCollapseExample1" style="">
   			<div class="card card-body"> 第一个元素 </div>
   		</div>
   	</div> 
   	<div class="col">
   		<div class="multi-collapse collapse show" id="multiCollapseExample2" style="">
   			<div class="card card-body">第二个元素</div>
   		</div>
   	</div>
   </div>
</div>

手风琴的例子
用bootstrap 4 中的卡片的样式来写,不过将header与body分开,其他的与多个目标类似。

<div class="accordion" id="accordionExample">
   <div class="card">
   	<div class="card-header">
   		<button class="btn btn-link h5 mb-0  collapsed" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="false">可折叠组项目#1</button>
   	</div>
   	<div id="collapseOne" class="collapse" style="">
   		<div class="card-body">内容1</div>
   	</div>
   </div>
   <div class="card">
   	<div class="card-header">
   		<button class="btn btn-link h5 mb-0 collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false">可折叠组项目#2</button>
   	</div>
   	<div id="collapseTwo" class="collapse" style="">
   		<div class="card-body">内容2</div>
   	</div>
   </div>
   <div class="card">
   	<div class="card-header">
   		<button class="btn btn-link h5 mb-0 collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false">可折叠组项目#3</button>
   	</div>
   	<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample" style="">
   		<div class="card-body">内容3</div>
   	</div>
   </div>
</div>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Bootstrap的Modal组件来实现悬浮弹窗关注效果。 首先,在页面中引入Bootstrap和jQuery库: ```html <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script> ``` 然后,创建一个按钮,并为其添加点击事件,点击按钮后弹出悬浮弹窗: ```html <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#subscribeModal">关注</button> <div class="modal fade" id="subscribeModal" tabindex="-1" role="dialog" aria-labelledby="subscribeModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="subscribeModalLabel">关注我们</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p>关注我们,获取更多精彩内容!</p> <form> <div class="form-group"> <label for="email">邮箱地址:</label> <input type="email" class="form-control" id="email" placeholder="请输入您的邮箱地址"> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button> <button type="button" class="btn btn-primary">提交</button> </div> </div> </div> </div> ``` 其中,按钮的`data-toggle`和`data-target`属性指定了点击后要弹出的悬浮弹窗,弹窗的内容在`<div class="modal">`标签中定义。 最后,添加一些CSS样式,使弹窗浮在页面上方: ```css .modal { position: fixed; z-index: 1050; overflow: auto; top: 50%; left: 50%; transform: translate(-50%, -50%); } ``` 这样,当用户点击关注按钮时,就会弹出一个悬浮弹窗,让用户填写邮箱地址并提交。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值