Accordion
Build vertically collapsing accordions in combination with the Collapse component.
Basic Accordion
This is the first item's accordion body. It is shown by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions.
This is the second item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element.
This is the third item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element.
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" type="button"
data-bs-toggle="collapse"
data-bs-target="#collapseOne">
Accordion Item #1
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show"
data-bs-parent="#accordionExample">
<div class="accordion-body">
Content here...
</div>
</div>
</div>
</div>
Always Open
Omit the data-bs-parent attribute to make accordion items stay open when another item is opened.
This is the first item's accordion body. It is shown by default. When you open other items, this one stays open because there's no parent reference.
This is the second item's accordion body. Multiple items can be open at the same time.
This is the third item's accordion body. All items can be open simultaneously.
<div class="accordion" id="accordionPanelsStayOpenExample">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" type="button"
data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapseOne">
Accordion Item #1
</button>
</h2>
<div id="panelsStayOpen-collapseOne"
class="accordion-collapse collapse show">
<div class="accordion-body">
Content here...
</div>
</div>
</div>
</div>
Flush Accordion
Add .accordion-flush to remove borders and rounded corners to render accordions edge-to-edge with their parent container.
This is a flush accordion item. Notice there are no borders or rounded corners.
This accordion renders edge-to-edge with the parent container.
Perfect for cards or other containers where you don't want extra borders.
<div class="accordion accordion-flush" id="accordionFlushExample">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse"
data-bs-target="#flush-collapseOne">
Accordion Item #1
</button>
</h2>
<div id="flush-collapseOne"
class="accordion-collapse collapse"
data-bs-parent="#accordionFlushExample">
<div class="accordion-body">
Content here...
</div>
</div>
</div>
</div>