Collapse
Basic Example #
Click the buttons below to show and hide another element via class changes:
-
.collapse
hides content -
.collapsing
is applied during transitions -
.collapse.show
shows content
Generally, we recommend using a button with the
data-bs-target
attribute. While not recommended from a semantic point of view, you can also use a link with the
href
attribute (and a
role="button"
). In both cases, the
data-bs-toggle="collapse"
is required.
<div class="row g-3">
<div class="col-auto">
<a
class="btn btn-primary"
data-bs-toggle="collapse"
href="#collapseExample"
role="button"
aria-expanded="false"
aria-controls="collapseExample"
>Link with href</a
>
</div>
<div class="col-auto">
<button
class="btn btn-primary"
type="button"
data-bs-toggle="collapse"
data-bs-target="#collapseExample"
aria-expanded="false"
aria-controls="collapseExample"
>
Button with data-bs-target
</button>
</div>
</div>
<div class="sa-collapse">
<div class="sa-collapse__body collapse" id="collapseExample">
<div class="sa-collapse__content">
<div class="py-3"></div>
<div class="card card-body">
Some placeholder content for the collapse component. This panel is hidden
by default but revealed when the user activates the relevant trigger.
</div>
</div>
</div>
</div>
Multiple Targets #
A
<button>
or
<a>
can show and hide multiple elements by referencing them with a selector in its
href
or
data-bs-target
attribute. Multiple
<button>
or
<a>
can show and hide an element if they each reference it with their
href
or
data-bs-target
attribute
<div class="row g-3">
<div class="col-auto">
<a
class="btn btn-primary"
data-bs-toggle="collapse"
href="#multiCollapseExample1"
role="button"
aria-expanded="false"
aria-controls="multiCollapseExample1"
>Toggle first element</a
>
</div>
<div class="col-auto">
<button
class="btn btn-primary"
type="button"
data-bs-toggle="collapse"
data-bs-target="#multiCollapseExample2"
aria-expanded="false"
aria-controls="multiCollapseExample2"
>
Toggle second element
</button>
</div>
<div class="col-auto">
<button
class="btn btn-primary"
type="button"
data-bs-toggle="collapse"
data-bs-target=".multi-collapse"
aria-expanded="false"
aria-controls="multiCollapseExample1 multiCollapseExample2"
>
Toggle both elements
</button>
</div>
</div>
<div class="row">
<div class="col">
<div class="sa-collapse">
<div
class="sa-collapse__body collapse multi-collapse"
id="multiCollapseExample1"
>
<div class="sa-collapse__content">
<div class="py-3"></div>
<div class="card card-body">
Some placeholder content for the first collapse component of this
multi-collapse example. This panel is hidden by default but
revealed when the user activates the relevant trigger.
</div>
</div>
</div>
</div>
</div>
<div class="col">
<div class="sa-collapse">
<div
class="sa-collapse__body collapse multi-collapse"
id="multiCollapseExample2"
>
<div class="sa-collapse__content">
<div class="py-3"></div>
<div class="card card-body">
Some placeholder content for the second collapse component of this
multi-collapse example. This panel is hidden by default but
revealed when the user activates the relevant trigger.
</div>
</div>
</div>
</div>
</div>
</div>