Basic
Use the accordion class to expand/collapse the
accordion content.
.accordion-body,
though the transition does limit overflow.
.accordion-body,
though the transition does limit overflow.
.accordion-body,
though the transition does limit overflow.
<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="#demo_accordion_item_01" aria-expanded="true" aria-controls="demo_accordion_item_01">
Accordion Item #1
</button>
</h2>
<div id="demo_accordion_item_01" class="accordion-collapse collapse show" data-bs-parent="#accordionExample">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_02" aria-expanded="false" aria-controls="demo_accordion_item_02">
Accordion Item #2
</button>
</h2>
<div id="demo_accordion_item_02" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_03" aria-expanded="false" aria-controls="demo_accordion_item_03">
Accordion Item #3
</button>
</h2>
<div id="demo_accordion_item_03" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Flush
Use accordion-flush class to remove the default
background-color, some borders, and some rounded corners to
render accordions edge-to-edge with their parent container.
.accordion-body,
though the transition does limit overflow.
.accordion-body,
though the transition does limit overflow.
.accordion-body,
though the transition does limit overflow.
<div class="accordion accordion-flush" id="demo_accordion_main_02">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_11" aria-expanded="true" aria-controls="demo_accordion_item_11">
Accordion Item #1
</button>
</h2>
<div id="demo_accordion_item_11" class="accordion-collapse collapse show" data-bs-parent="#demo_accordion_main_02">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_12" aria-expanded="false" aria-controls="demo_accordion_item_12">
Accordion Item #2
</button>
</h2>
<div id="demo_accordion_item_12" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_02">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_13" aria-expanded="false" aria-controls="demo_accordion_item_13">
Accordion Item #3
</button>
</h2>
<div id="demo_accordion_item_13" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_02">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Accordions with Icons
Use accordion-icon class to show custom icon at
accordion.
<div class="accordion accordion-icon" id="demo_accordion_main_03">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_31" aria-expanded="true" aria-controls="demo_accordion_item_31">
<i class="ri-code-line me-2"></i> Frontend Development
</button>
</h2>
<div id="demo_accordion_item_31" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_03">
<div class="accordion-body">
<strong>Frontend Development</strong> focuses on creating the visual aspects of a website or application that users interact with. This includes designing and implementing user interfaces (UI) using HTML, CSS, and JavaScript. For example, using Bootstrap to quickly style and layout responsive components can significantly streamline the development process.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_32" aria-expanded="false" aria-controls="demo_accordion_item_32">
<i class="ri-braces-line me-2"></i> Backend Development
</button>
</h2>
<div id="demo_accordion_item_32" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_03">
<div class="accordion-body">
<strong>Backend Development</strong> involves server-side programming that powers the functionalities behind the scenes of a website or application. This includes working with databases, server logic, and APIs. For instance, using frameworks like Node.js or Django helps in efficiently managing server-side operations and handling data interactions.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_33" aria-expanded="false" aria-controls="demo_accordion_item_33">
<i class="ri-paint-brush-line me-2"></i> Bootstrap Customizations
</button>
</h2>
<div id="demo_accordion_item_33" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_03">
<div class="accordion-body">
<strong>Bootstrap Customizations</strong> allow you to tailor the Bootstrap framework to better fit your project’s needs. This can involve overriding default Bootstrap variables using custom CSS, or utilizing the Bootstrap theme customizer. For example, you can adjust the color scheme and spacing of Bootstrap components to align with your branding guidelines and improve the overall aesthetics of your application.
</div>
</div>
</div>
</div>
Accordions without Icons
Use the .accordion-icon-none class to create
Bootstrap accordions without icons. This
class hides any default icons, giving your accordion a
cleaner look.
<div class="accordion accordion-icon-none" id="demo_accordion_main_04">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_41" aria-expanded="true" aria-controls="demo_accordion_item_41">
<span class="accordion-icon me-2">
<i class="ri-code-line"></i>
</span>
Frontend Development
</button>
</h2>
<div id="demo_accordion_item_41" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_04">
<div class="accordion-body">
<strong>Frontend Development</strong> focuses on creating the visual aspects of a website or application that users interact with. This includes designing and implementing user interfaces (UI) using HTML, CSS, and JavaScript. For example, using Bootstrap to quickly style and layout responsive components can significantly streamline the development process.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_42" aria-expanded="false" aria-controls="demo_accordion_item_42">
<i class="ri-braces-line me-2"></i> Backend Development
</button>
</h2>
<div id="demo_accordion_item_42" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_04">
<div class="accordion-body">
<strong>Backend Development</strong> involves server-side programming that powers the functionalities behind the scenes of a website or application. This includes working with databases, server logic, and APIs. For instance, using frameworks like Node.js or Django helps in efficiently managing server-side operations and handling data interactions.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_43" aria-expanded="false" aria-controls="demo_accordion_item_43">
<i class="ri-paint-brush-line me-2"></i> Bootstrap Customizations
</button>
</h2>
<div id="demo_accordion_item_43" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_04">
<div class="accordion-body">
<strong>Bootstrap Customizations</strong> allow you to tailor the Bootstrap framework to better fit your project’s needs. This can involve overriding default Bootstrap variables using custom CSS, or utilizing the Bootstrap theme customizer. For example, you can adjust the color scheme and spacing of Bootstrap components to align with your branding guidelines and improve the overall aesthetics of your application.
</div>
</div>
</div>
</div>
Accordions with Plus Icon
Use the .accordion-with-plus class to add a
plus icon to your Bootstrap accordion.
Place the icon inside the .accordion-header to
indicate expand/collapse functionality.
<div class="accordion accordion-with-plus" id="demo_accordion_main_06">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_61" aria-expanded="true" aria-controls="demo_accordion_item_61">
<span class="accordion-icon me-2">
<i class="ri-code-line"></i>
</span>
Frontend Development
</button>
</h2>
<div id="demo_accordion_item_61" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_06">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_62" aria-expanded="false" aria-controls="demo_accordion_item_62">
<i class="ri-braces-line me-2"></i> Backend Development
</button>
</h2>
<div id="demo_accordion_item_62" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_06">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_63" aria-expanded="false" aria-controls="demo_accordion_item_63">
<i class="ri-paint-brush-line me-2"></i> Bootstrap Customizations
</button>
</h2>
<div id="demo_accordion_item_63" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_06">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Accordions with Left Icon with Plus Icon
Use the .accordion-with-left-icon class to add
an icon on the left of each accordion item.
Place your icon in an <i> tag within the
.accordion-header.
<div class="accordion accordion-with-plus accordion-with-left-icon" id="demo_accordion_main_07">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_71" aria-expanded="true" aria-controls="demo_accordion_item_71">
Frontend Development
</button>
</h2>
<div id="demo_accordion_item_71" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_07">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_72" aria-expanded="false" aria-controls="demo_accordion_item_72">
Backend Development
</button>
</h2>
<div id="demo_accordion_item_72" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_07">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_73" aria-expanded="false" aria-controls="demo_accordion_item_73">
Bootstrap Customizations
</button>
</h2>
<div id="demo_accordion_item_73" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_07">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Accordions with theme color
Customize your Bootstrap accordion header with
theme colors by applying classes like
.accordion-primary or .text-white.
<div class="accordion accordion-primary accordion-border-box" id="demo_accordion_main_08">
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_81" aria-expanded="true" aria-controls="demo_accordion_item_81">
Frontend Development
</button>
</h2>
<div id="demo_accordion_item_81" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_08">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_82" aria-expanded="false" aria-controls="demo_accordion_item_82">
Backend Development
</button>
</h2>
<div id="demo_accordion_item_82" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_08">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_83" aria-expanded="false" aria-controls="demo_accordion_item_83">
Bootstrap Customizations
</button>
</h2>
<div id="demo_accordion_item_83" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_08">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Accordions with subtitle
Add subtitles to Bootstrap accordions by
including a <h6> or
<small> tag in the
.accordion-header. This provides extra context
for each section.
<div class="accordion accordion-secondary accordion-border-box" id="demo_accordion_main_09">
<div class="accordion-item">
<h2 class="accordion-header">
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_91" aria-expanded="true" aria-controls="demo_accordion_item_91">
<div>
<p class="mb-0">Frontend Development</p>
<p class="fs-12 mb-0 mt-1">Press to expand</p>
</div>
</div>
</h2>
<div id="demo_accordion_item_91" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_09">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_92" aria-expanded="false" aria-controls="demo_accordion_item_92">
<div>
<p class="mb-0">Backend Development</p>
<p class="fs-12 mb-0 mt-1">Press to expand</p>
</div>
</div>
</h2>
<div id="demo_accordion_item_92" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_09">
<div class="accordion-body">
...
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_93" aria-expanded="false" aria-controls="demo_accordion_item_93">
<div>
<p class="mb-0">Bootstrap Customizations</p>
<p class="fs-12 mb-0 mt-1">Press to expand</p>
</div>
</div>
</h2>
<div id="demo_accordion_item_93" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_09">
<div class="accordion-body">
...
</div>
</div>
</div>
</div>
Accordion With Content
You can create an accordion with images in
Bootstrap by including <img> tags within
the .accordion-header section. This lets you
display images alongside text content, enhancing visual
appeal and information delivery.
<div class="accordion accordion-border-box" id="demo_accordion_main_10">
<div class="accordion-item">
<h2 class="accordion-header">
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_100" aria-expanded="true" aria-controls="demo_accordion_item_100">
<div class="avatar-image avatar-lg me-3">
<img class="img-fluid rounded-2" src="assets/images/avatar/avatar-3.jpg" alt="avatar image">
</div>
<div>
<p class="mb-0">Frontend Development</p>
<p class="fs-12 mb-0 mt-1">Press to expand</p>
</div>
</div>
</h2>
<div id="demo_accordion_item_100" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_10">
<div class="accordion-body">
<strong>Frontend Development</strong> focuses on creating the visual aspects of a website or application that users interact with. This includes designing and implementing user interfaces (UI) using HTML, CSS, and JavaScript. For example, using Bootstrap to quickly style and layout responsive components can significantly streamline the development process.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_101" aria-expanded="false" aria-controls="demo_accordion_item_101">
<div class="avatar-image avatar-lg me-3">
<img class="img-fluid rounded-2" src="assets/images/avatar/avatar-3.jpg" alt="avatar image">
</div>
<div>
<p class="mb-0">Backend Development</p>
<p class="fs-12 mb-0 mt-1">Press to expand</p>
</div>
</div>
</h2>
<div id="demo_accordion_item_101" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_10">
<div class="accordion-body">
<strong>Backend Development</strong> involves server-side programming that powers the functionalities behind the scenes of a website or application. This includes working with databases, server logic, and APIs. For instance, using frameworks like Node.js or Django helps in efficiently managing server-side operations and handling data interactions.
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<div class="accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#demo_accordion_item_103" aria-expanded="false" aria-controls="demo_accordion_item_103">
<div class="avatar-image avatar-lg me-3">
<img class="img-fluid rounded-2" src="assets/images/avatar/avatar-3.jpg" alt="avatar image">
</div>
<div>
<p class="mb-0">Bootstrap Customizations</p>
<p class="fs-12 mb-0 mt-1">Press to expand</p>
</div>
</div>
</h2>
<div id="demo_accordion_item_103" class="accordion-collapse collapse" data-bs-parent="#demo_accordion_main_10">
<div class="accordion-body">
<strong>Bootstrap Customizations</strong> allow you to tailor the Bootstrap framework to better fit your project’s needs. This can involve overriding default Bootstrap variables using custom CSS, or utilizing the Bootstrap theme customizer. For example, you can adjust the color scheme and spacing of Bootstrap components to align with your branding guidelines and improve the overall aesthetics of your application.
</div>
</div>
</div>
</div>
Nesting Accordions
With Bootstrap, you can create
nested accordions to organize content
hierarchically. To do this, simply place an
<accordion> component inside another
<accordion>. Make sure each nested
accordion has a unique ID for proper
functionality.
Collapse Example
You can use a link with the href attribute, or
a button with the data-bs-target attribute. In
both cases, the data-bs-toggle="collapse" is
required.
More Details
Here’s some extra information that might be useful. For example, if you’re reading about a product, you could find details about its features, user instructions, or any other interesting facts. This part is hidden by default and will appear when you click either of the buttons above.
<!-- Collapsible Trigger Area -->
<div class="d-inline-flex gap-2 mb-3">
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Link with href
</a>
<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>
<!-- Collapsible Content Area -->
<div class="collapse show" id="collapseExample">
<div class="card card-body mb-0">
<h5 class="card-title">More Details</h5>
<p class="card-text">
Here’s some extra information that might be useful. For example, if you’re reading about a product, you could find details about its features, user instructions, or any other interesting facts. This part is hidden by default and will appear when you click either of the buttons above.
</p>
</div>
</div>
Horizontal Collapse
Use the collapse-horizontal class to make
elements slide open and closed horizontally, instead of
vertically. Make sure to set a specific
width on the child element that you want to
collapse.
<!-- Collapsible Trigger Area -->
<div class="d-inline-flex gap-2 mb-3">
<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>
</div>
<!-- Collapsible Content Area -->
<div class="collapse show collapse-horizontal" id="collapseWidthExample">
<div class="card card-body" style="width: 300px;">
This is some placeholder content for a horizontal collapse. It's hidden by default and shown when you click the button.
</div>
</div>
Collapse with Icon
Click the icon to toggle the collapse.
<!-- Collapsible Trigger Area with Remix Icon -->
<div class="d-flex flex-wrap gap-5 align-items-center mb-3">
<button class="btn btn-primary icon-btn custom-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseContent" aria-expanded="false" aria-controls="collapseContent">
<span class="icon-on">
<i class="ri-subtract-line"></i>
</span>
<span class="icon-off">
<i class="ri-add-line"></i>
</span>
</button>
<div class="custom-toggle fw-semibold d-flex align-items-center" data-bs-toggle="collapse" data-bs-target="#collapseContent" aria-expanded="false" aria-controls="collapseContent" role="button">
<span class="icon-on">
Read Less
<i class="ri-arrow-up-s-line ms-2"></i>
</span>
<span class="icon-off">
Read More
<i class="ri-arrow-down-s-line ms-2"></i>
</span>
</div>
</div>
<!-- Collapsible Content Area -->
<div class="collapse show" id="collapseContent">
<div class="card card-body mb-0">
This is some detailed content that gets revealed when you click "Read More" and hidden when you click "Read Less". Customize this text as needed for your application.
</div>
</div>
Controlling Multiple Collapses
You can use a <button> or
<a> to control multiple collapsible
elements at once by using the same
data-bs-target or href attribute.
Similarly, a single <button> or
<a> can control multiple collapsible
elements if you use the same attribute value for all.
<!-- Collapsible Trigger Buttons -->
<div class="d-inline-flex gap-2 mb-3">
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseOne" role="button" aria-expanded="false" aria-controls="collapseOne">Toggle First Section</a>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">Toggle Second Section</button>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="collapseOne collapseTwo">Toggle Both Sections</button>
</div>
<!-- Collapsible Content Sections -->
<div class="row">
<div class="col">
<div class="collapse show multi-collapse" id="collapseOne">
<div class="card card-body mb-0">
This is the content for the first section. It’s hidden by default and will be shown when the appropriate button is clicked.
</div>
</div>
</div>
<div class="col">
<div class="collapse show multi-collapse" id="collapseTwo">
<div class="card card-body mb-0">
This is the content for the second section. It’s hidden by default and will be shown when the appropriate button is clicked.
</div>
</div>
</div>
</div>