非常教程

Bootstrap 4参考手册

组件·折叠 | Collapse

折叠 | Collapse

使用几个类和我们的 JavaScript 插件来切换项目内容的可见性。

示例

点击下面的按钮,通过班级变更显示和隐藏另一个元素:

  • .collapse 隐藏内容
  • .collapsing 在转换期间应用
  • .collapse.show 显示内容

您可以使用具有href属性的链接,或具有data-target属性的按钮。在这两种情况下,data-toggle="collapse"都是必需的。

在 getbootstrap.com 上打开示例

<p>
  <a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Link with href
  </a>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
    Button with data-target
  </button>
</p>
<div class="collapse" id="collapseExample">
  <div class="card card-body">
    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
  </div>
</div>

多个目标

一个人<button>或者<a>可以通过在其hrefdata-target属性中使用JQuery选择器引用它们来显示和隐藏多个元素。多个<button><a>可以显示和隐藏元素,如果他们每个引用它们hrefdata-target属性

在 getbootstrap.com 上打开示例

<p>
  <a class="btn btn-primary" data-toggle="collapse" href="#multiCollapseExample1" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
  <button class="btn btn-primary" type="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
</p>
<div class="row">
  <div class="col">
    <div class="collapse multi-collapse" id="multiCollapseExample1">
      <div class="card card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
      </div>
    </div>
  </div>
  <div class="col">
    <div class="collapse multi-collapse" id="multiCollapseExample2">
      <div class="card card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
      </div>
    </div>
  </div>
</div>

Accordion的示例

使用卡组件,您可以扩展默认折叠行为以创建提一个 accordion。

在 getbootstrap.com 上打开示例

<div id="accordion" role="tablist">
  <div class="card">
    <div class="card-header" role="tab" id="headingOne">
      <h5 class="mb-0">
        <a data-toggle="collapse" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Collapsible Group Item #1
        </a>
      </h5>
    </div>

    <div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion">
      <div class="card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" role="tab" id="headingTwo">
      <h5 class="mb-0">
        <a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          Collapsible Group Item #2
        </a>
      </h5>
    </div>
    <div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo" data-parent="#accordion">
      <div class="card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" role="tab" id="headingThree">
      <h5 class="mb-0">
        <a class="collapsed" data-toggle="collapse" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          Collapsible Group Item #3
        </a>
      </h5>
    </div>
    <div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree" data-parent="#accordion">
      <div class="card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
</div>

您还可以使用自定义标记创建 accordion。添加data-children属性并指定一组切换(例如.item)的同级元素。然后,使用与上面所示相同的属性和类将切换连接到关联的内容。

在 getbootstrap.com 上打开示例

<div id="exampleAccordion" data-children=".item">
  <div class="item">
    <a data-toggle="collapse" data-parent="#exampleAccordion" href="#exampleAccordion1" aria-expanded="true" aria-controls="exampleAccordion1">
      Toggle item
    </a>
    <div id="exampleAccordion1" class="collapse show" role="tabpanel">
      <p class="mb-3">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pretium lorem non vestibulum scelerisque. Proin a vestibulum sem, eget tristique massa. Aliquam lacinia rhoncus nibh quis ornare.
      </p>
    </div>
  </div>
  <div class="item">
    <a data-toggle="collapse" data-parent="#exampleAccordion" href="#exampleAccordion2" aria-expanded="false" aria-controls="exampleAccordion2">
      Toggle item 2
    </a>
    <div id="exampleAccordion2" class="collapse" role="tabpanel">
      <p class="mb-3">
        Donec at ipsum dignissim, rutrum turpis scelerisque, tristique lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus nec dui turpis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
      </p>
    </div>
  </div>
</div>

无障碍

一定要添加aria-expanded到控制元素。该属性明确地传达了与控件绑定的可折叠元素的当前状态,以屏幕阅读器和类似的辅助技术。如果可折叠元素默认关闭,则控件元素上的属性值应为aria-expanded="false"。如果您已将折叠元素设置为默认使用show该类打开,请aria-expanded="true"改为在控件上设置。该插件将根据是否已打开或关闭可折叠元素(通过 JavaScript,或因为用户触发了另一个绑定到同一 collapsbile 元素的控件元素)而自动在控件上切换此属性。

此外,如果控件元素的目标是单个可折叠元素 - 即data-target属性指向id选择器 - 您可以向控件aria-controls元素添加一个附加属性,其中包含id可折叠元素的属性。现代屏幕阅读器和类似的辅助技术利用该属性为用户提供了直接导航到可折叠元素本身的附加快捷方式。

用法

崩溃插件利用几个类来处理繁重的工作:

  • .collapse 隐藏内容
  • .collapse.show 显示内容
  • .collapsing 在转换开始时添加,并在完成时删除

这些类可以在_transitions.scss中找到。

通过数据属性

只需添加data-toggle="collapse"和一个data-target元素即可自动分配一个或多个可折叠元素的控件。data-target属性接受一个 CSS 选择器来应用折叠。确保将该类添加collapse到可折叠元素。如果您希望默认打开,请添加其他类show

要将类 accordion 式组管理添加到可折叠区域,请添加数据属性data-parent="#selector"。请参阅演示以查看这一行动。

通过 JavaScript

手动启用:

$('.collapse').collapse()

选项

选项可以通过数据属性或 JavaScript 传递。对于数据属性,请将选项名称附加到data-中,如在data-parent=""

Name

类型

默认

描述

parent

选择器| jQuery对象| DOM元素

如果提供了父项,则在显示此可折叠项目时,指定父项下的所有可折叠元素将被关闭。(类似于传统的手风琴行为 - 这取决于卡类)。该属性必须在目标可折叠区域上设置。

toggle

布尔

在调用时切换可折叠元素

方法

异步方法和转换

所有 API 方法都是异步的并开始转换。一旦转换开始但在结束之前,它们就立即返回给调用者。另外,对转换组件的方法调用将被忽略

查看我们的 JavaScript 文档以获取更多信息。

.collapse(options)

激活您的内容作为可折叠的元素。接受可选的选项object

$('#myCollapsible').collapse({
  toggle: false
})

.collapse('toggle')

切换可显示或隐藏的可折叠元素。返回到可折叠元件之前呼叫者实际上已显示或隐藏(即在之前shown.bs.collapsehidden.bs.collapse事件发生时)。

.collapse('show')

显示可折叠的元素。在可折叠元素实际显示之前(即shown.bs.collapse事件发生之前)返回给调用者

.collapse('hide')

隐藏可折叠的元素。在可折叠元素实际上被隐藏之前(即在hidden.bs.collapse事件发生之前)返回给调用者

.collapse('dispose')

销毁元素的崩溃。

活动

Bootstrap 的折叠类暴露了一些挂钩到折叠功能的事件。

事件类型

描述

show.bs.collapse

当show instance方法被调用时,此事件立即触发。

shown.bs.collapse

当用户看到折叠元素时会触发此事件(将等待CSS转换完成)​​。

hide.bs.collapse

当隐藏方法被调用时,立即触发此事件。

hidden.bs.collapse

当用户隐藏了一个折叠元素时会触发此事件(将等待CSS转换完成)​​。

$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something…
})

组件·折叠 | Collapse相关

Bootstrap 4

Bootstrap 是一套用于 HTML、CSS 和 JS 开发的开源工具集。利用我们提供的 Sass 变量和大量 mixin、响应式栅格系统、可扩展的预制组件、基于 jQuery 的强大的插件系统,能够快速为你的想法开发出原型或者构建整个 app 。

主页 https://getbootstrap.com/
源码 https://github.com/twbs/bootstrap
版本 4
发布版本 4.0.0-beta.2

Bootstrap 4目录

1.快速开始 | Getting started
2.组件·信息提示框 | Alerts
3.组件·徽章 | Badges
4.组件·面包屑导航 | Breadcrumb
5.组件·按钮组 | Button group
6.组件·按钮 | Buttons
7.组件·卡片 | Cards
8.组件·轮播 | Carousel
9.组件·折叠 | Collapse
10.组件·下拉菜单 | Dropdowns
11.组件·表单 | Forms
12.组件·输入框组 | Input group
13.组件·大屏幕 | Jumbotron
14.组件·列表组 | List group
15.组件·模态框 | Modal
16.组件·导航栏 | Navbar
17.组件·导航 | Navs
18.组件·分页 | Pagination
19.组件·弹出框 | Popovers
20.组件·进度条 | Progress
21.组件·滚动监听 | Scrollspy
22.组件·提示工具 | Tooltips
23.内容 | Content
24.布局 | Layout
25.迁移 | Migration
26.实用工具 | Utilities
27.Bootstrap4 网格系统
28.Bootstrap4 按钮组
29.Bootstrap4 按钮
30.Bootstrap4 图像形状
31.Bootstrap4 表格
32.Bootstrap4 颜色
33.Bootstrap4 文字排版
34.Bootstrap4 轮播
35.Bootstrap4 表单控件
36.Bootstrap4 表单
37.Bootstrap4 导航栏
38.Bootstrap4 导航
39.Bootstrap4 折叠
40.Bootstrap4 下拉菜单
41.Bootstrap4 卡片
42.Bootstrap4 分页
43.Bootstrap4 小工具
44.Bootstrap4 滚动监听
45.Bootstrap4 弹出框
46.Bootstrap4 提示框
47.Bootstrap4 模态框
48.Bootstrap 4 多媒体对象
49.Bootstrap 4 Flex(弹性)布局
50.Bootstrap4 创建一个网页
51.Bootstrap4 自定义表单
52.Bootstrap4 面包屑导航(Breadcrumb)