Snippets Hover

Bootstrap 5 Testimonial Cards with Hover Effect

Three testimonial cards with star ratings, verified badges and roles, led by a featured centre card and an aggregate 4.9 rating strip.

Bootstrap 5 No jQuery May 2020 2.3K views

<section class="wdw-stage">
  <div class="container" style="max-width:1100px">
    <div class="text-center mb-4 mb-lg-5">
      <span class="wdw-eyebrow">Testimonials</span>
      <h2 class="wdw-heading display-6 mt-1 mb-3">Teams love what they can finally see</h2>
      <div class="d-inline-flex flex-wrap justify-content-center align-items-center gap-2 gap-md-3 wdw-card-sm rounded-pill px-4 py-2">
        <span class="fw-bold fs-5 lh-1">4.9<span class="small fw-medium wdw-muted">/5</span></span>
        <div class="text-warning d-flex gap-1" role="img" aria-label="5 out of 5 stars"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg></div>
        <span class="small wdw-muted">from 1,200+ reviews</span>
      </div>
    </div>
    <div class="row g-3 g-lg-4 align-items-stretch">
      <div class="col-md-6 col-lg-4">
        <figure class="tcard wdw-card h-100 p-4 m-0 d-flex flex-column">
          <div class="d-flex align-items-center justify-content-between mb-3">
            <svg class="tcard-quote" width="36" height="36" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M9.5 6C6.5 7 4 9.8 4 13.5V18h6v-6H7c.1-2 1.3-3.4 3-4zM19.5 6c-3 1-5.5 3.8-5.5 7.5V18h6v-6h-3c.1-2 1.3-3.4 3-4z"/></svg>
            <span class="tcard-badge"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 12l5 5L20 6"/></svg> Verified</span>
          </div>
          <div class="text-warning mb-3 d-flex gap-1" role="img" aria-label="5 out of 5 stars"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg></div>
          <blockquote class="mb-4 flex-grow-1"><p class="mb-0"><strong class="tcard-lead">Finally, data we can act on.</strong> Growth of data is exponential, and classic BI tools made it hard to see what mattered. Now we spot exceptions and fix them the same day.</p></blockquote>
          <figcaption class="d-flex align-items-center gap-3 pt-3 border-top tcard-cap">
            <img src="https://i.pravatar.cc/120?img=32" width="48" height="48" class="rounded-circle tcard-avatar" alt="">
            <div class="lh-sm"><strong class="d-block">Sophia Smith</strong><span class="small wdw-muted">Hair specialist, <span class="fw-semibold">Lumen Studio</span></span></div>
          </figcaption>
        </figure>
      </div>
      <div class="col-md-6 col-lg-4">
        <figure class="tcard tcard-featured wdw-aurora h-100 p-4 m-0 d-flex flex-column">
          <div class="d-flex align-items-center justify-content-between mb-3">
            <svg class="tcard-quote" width="36" height="36" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M9.5 6C6.5 7 4 9.8 4 13.5V18h6v-6H7c.1-2 1.3-3.4 3-4zM19.5 6c-3 1-5.5 3.8-5.5 7.5V18h6v-6h-3c.1-2 1.3-3.4 3-4z"/></svg>
            <span class="tcard-badge tcard-badge--light"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 12l5 5L20 6"/></svg> Verified</span>
          </div>
          <div class="text-warning mb-3 d-flex gap-1" role="img" aria-label="5 out of 5 stars"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg></div>
          <blockquote class="mb-4 flex-grow-1"><p class="mb-0"><strong class="tcard-lead">Reporting went from a week to an afternoon.</strong> Our whole team opens the dashboard every morning without being asked. It is now part of how we run the business.</p></blockquote>
          <figcaption class="d-flex align-items-center gap-3 pt-3 border-top tcard-cap">
            <img src="https://i.pravatar.cc/120?img=12" width="48" height="48" class="rounded-circle tcard-avatar" alt="">
            <div class="lh-sm"><strong class="d-block">Mike Housin</strong><span class="small text-white-50">Director of Marketing, <span class="fw-semibold">Brightside</span></span></div>
          </figcaption>
        </figure>
      </div>
      <div class="col-md-6 col-lg-4">
        <figure class="tcard wdw-card h-100 p-4 m-0 d-flex flex-column">
          <div class="d-flex align-items-center justify-content-between mb-3">
            <svg class="tcard-quote" width="36" height="36" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M9.5 6C6.5 7 4 9.8 4 13.5V18h6v-6H7c.1-2 1.3-3.4 3-4zM19.5 6c-3 1-5.5 3.8-5.5 7.5V18h6v-6h-3c.1-2 1.3-3.4 3-4z"/></svg>
            <span class="tcard-badge"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 12l5 5L20 6"/></svg> Verified</span>
          </div>
          <div class="text-warning mb-3 d-flex gap-1" role="img" aria-label="5 out of 5 stars"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="1.75" stroke-linejoin="round" aria-hidden="true"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg></div>
          <blockquote class="mb-4 flex-grow-1"><p class="mb-0"><strong class="tcard-lead">Setup took minutes, not weeks.</strong> The support team answered every question, and it is the first analytics tool our non-technical colleagues actually use.</p></blockquote>
          <figcaption class="d-flex align-items-center gap-3 pt-3 border-top tcard-cap">
            <img src="https://i.pravatar.cc/120?img=47" width="48" height="48" class="rounded-circle tcard-avatar" alt="">
            <div class="lh-sm"><strong class="d-block">Elena Petrova</strong><span class="small wdw-muted">Operations lead, <span class="fw-semibold">Fathom Labs</span></span></div>
          </figcaption>
        </figure>
      </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.