Snippets Accordion

Bootstrap 5 Accordion with Hover Effect

A FAQ accordion with icon tiles whose answers preview on hover and stay open when clicked, with a lift effect on each card.

Bootstrap 5 No jQuery Jun 2020 2.7K views

<section class="wdw-stage">
  <div class="container" style="max-width: 1040px;">
    <div class="row g-4 align-items-stretch">
      <div class="col-lg-5">
        <div class="wdw-aurora rounded-4 p-4 p-md-5 h-100 d-flex flex-column justify-content-between gap-4">
          <div>
            <span class="wdw-eyebrow text-white-50">FAQ</span>
            <h1 class="h2 wdw-heading mt-1 mb-2 text-white">Questions, answered</h1>
            <p class="mb-0 text-white-50">Hover a row to preview it, click to keep it open.</p>
          </div>
          <div class="bg-white bg-opacity-10 rounded-4 p-4">
            <p class="fw-bold mb-1">Still stuck?</p>
            <p class="small text-white-50 mb-3">Our support team replies within a few hours.</p>
            <a href="#" class="btn btn-light rounded-pill px-4 fw-semibold">Contact support</a>
          </div>
        </div>
      </div>
      <div class="col-lg-7">
        <div class="accordion hover-acc d-grid gap-3" id="hoverAcc">
          <div class="accordion-item wdw-card-sm overflow-hidden">
            <h2 class="accordion-header">
              <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#ha1" aria-expanded="true" aria-controls="ha1">
                <span class="wdw-icon me-3"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 10h18"/></svg></span>
                How does billing work?
              </button>
            </h2>
            <div id="ha1" class="accordion-collapse collapse show" data-bs-parent="#hoverAcc">
              <div class="accordion-body wdw-muted">You are billed monthly or yearly, and can switch plans at any time. Unused time is credited automatically to your next invoice.</div>
            </div>
          </div>
          <div class="accordion-item wdw-card-sm overflow-hidden">
            <h2 class="accordion-header">
              <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#ha2" aria-expanded="false" aria-controls="ha2">
                <span class="wdw-icon me-3"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M17 21v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2"/><circle cx="10" cy="7" r="4"/><path d="M21 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8"/></svg></span>
                Can I invite my team?
              </button>
            </h2>
            <div id="ha2" class="accordion-collapse collapse" data-bs-parent="#hoverAcc">
              <div class="accordion-body wdw-muted">Yes. Add unlimited teammates, assign roles, and control who can view or edit each project from the settings page.</div>
            </div>
          </div>
          <div class="accordion-item wdw-card-sm overflow-hidden">
            <h2 class="accordion-header">
              <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#ha3" aria-expanded="false" aria-controls="ha3">
                <span class="wdw-icon me-3"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></span>
                Is my data safe?
              </button>
            </h2>
            <div id="ha3" class="accordion-collapse collapse" data-bs-parent="#hoverAcc">
              <div class="accordion-body wdw-muted">Everything is encrypted in transit and at rest, backed up daily, and you can export or delete your data whenever you like.</div>
            </div>
          </div>
          <div class="accordion-item wdw-card-sm overflow-hidden">
            <h2 class="accordion-header">
              <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#ha4" aria-expanded="false" aria-controls="ha4">
                <span class="wdw-icon me-3"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/></svg></span>
                Can I get a refund?
              </button>
            </h2>
            <div id="ha4" class="accordion-collapse collapse" data-bs-parent="#hoverAcc">
              <div class="accordion-body wdw-muted">Cancel within 30 days of purchase and we will refund you in full, no questions asked.</div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.

Free to use in personal and commercial projects under the MIT license.