Accordions
Simple Accordions
Using the card component, you can extend the default collapse behavior to create an accordion. To properly achieve the accordion style, be sure to use .accordion
as
a wrapper.
<div class="accordion" id="accordionExample">
<div class="card mb-0">
<div class="card-header" id="headingOne">
<h5 class="m-0">
<a class="custom-accordion-title d-block pt-2 pb-2"
data-bs-toggle="collapse" href="#collapseOne"
aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h5>
</div>
<div id="collapseOne" class="collapse show"
aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="card-body">
...
</div>
</div>
</div>
<div class="card mb-0">
<div class="card-header" id="headingTwo">
<h5 class="m-0">
<a class="custom-accordion-title collapsed d-block pt-2 pb-2"
data-bs-toggle="collapse" href="#collapseTwo"
aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h5>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo"
data-bs-parent="#accordionExample">
<div class="card-body">
...
</div>
</div>
</div>
<div class="card mb-0">
<div class="card-header" id="headingThree">
<h5 class="m-0">
<a class="custom-accordion-title collapsed d-block pt-2 pb-2"
data-bs-toggle="collapse" href="#collapseThree"
aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h5>
</div>
<div id="collapseThree" class="collapse"
aria-labelledby="headingThree" data-bs-parent="#accordionExample">
<div class="card-body">
...
</div>
</div>
</div>
</div>
Custom Accordions
You can have custom look and feel for accorion as well. Just use class
.custom-accordion
along with .accordion
as a wrapper.
<div class="accordion custom-accordion" id="custom-accordion-one">
<div class="card mb-0">
<div class="card-header" id="headingFour">
<h5 class="m-0">
<a class="custom-accordion-title d-block py-1"
data-bs-toggle="collapse" href="#collapseFour"
aria-expanded="true" aria-controls="collapseFour">
Q. Can I use this template for my client? <i
class="mdi mdi-chevron-down accordion-arrow"></i>
</a>
</h5>
</div>
<div id="collapseFour" class="collapse show"
aria-labelledby="headingFour"
data-bs-parent="#custom-accordion-one">
<div class="card-body">
...
</div>
</div>
</div>
<div class="card mb-0">
<div class="card-header" id="headingFive">
<h5 class="m-0">
<a class="custom-accordion-title collapsed d-block py-1"
data-bs-toggle="collapse" href="#collapseFive"
aria-expanded="false" aria-controls="collapseFive">
Q. Can this theme work with Wordpress? <i
class="mdi mdi-chevron-down accordion-arrow"></i>
</a>
</h5>
</div>
<div id="collapseFive" class="collapse"
aria-labelledby="headingFive"
data-bs-parent="#custom-accordion-one">
<div class="card-body">
...
</div>
</div>
</div>
<div class="card mb-0">
<div class="card-header" id="headingSix">
<h5 class="m-0">
<a class="custom-accordion-title collapsed d-block py-1"
data-bs-toggle="collapse" href="#collapseSix"
aria-expanded="false" aria-controls="collapseSix">
Q. How do I get help with the theme? <i
class="mdi mdi-chevron-down accordion-arrow"></i>
</a>
</h5>
</div>
<div id="collapseSix" class="collapse" aria-labelledby="headingSix"
data-bs-parent="#custom-accordion-one">
<div class="card-body">
...
</div>
</div>
</div>
<div class="card mb-0">
<div class="card-header" id="headingSeven">
<h5 class="m-0">
<a class="custom-accordion-title collapsed d-block py-1"
data-bs-toggle="collapse" href="#collapseSeven"
aria-expanded="false" aria-controls="collapseSeven">
Q. Will you regularly give updates of Hyper ? <i
class="mdi mdi-chevron-down accordion-arrow"></i>
</a>
</h5>
</div>
<div id="collapseSeven" class="collapse"
aria-labelledby="headingSeven"
data-bs-parent="#custom-accordion-one">
<div class="card-body">
...
</div>
</div>
</div>
</div>
Collapse
Bootstrap's collapse provides the way to toggle the visibility of any content or element. Please read the official Bootstrap documentation for a full list of options.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse"
href="#collapseExample" aria-expanded="false"
aria-controls="collapseExample">
Link with href
</a>
<button class="btn btn-primary ms-1" type="button"
data-bs-toggle="collapse" data-bs-target="#collapseExample"
aria-expanded="false" aria-controls="collapseExample">
Button with data-bs-target
</button>
</p>
<div class="collapse show" id="collapseExample">
<div class="card card-body mb-0">
...
</div>
</div>
Multiple Targets
Multiple <button>
or <a>
can show and hide an element if they each reference it with their href
or
data-bs-target
attribute
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
<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>
<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>
</p>
<div class="row">
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample1">
<div class="card card-body mb-0">
...
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body mb-0">
...
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row-->
Collapse Horizontal
The collapse plugin also supports horizontal collapsing. Add the
.collapse-horizontal
modifier class to transition the width
instead of height
and set a width
on the immediate child element.
<p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample"
aria-expanded="false" aria-controls="collapseWidthExample">
Toggle width collapse
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse collapse-horizontal" id="collapseWidthExample">
<div class="card card-body mb-0" style="width: 300px;">
This is some placeholder content for a horizontal collapse. It's hidden by default and shown when triggered.
</div>
</div>
</div>