Snippets Comparison

Bootstrap 5 Product Comparison Cards

A three-column product comparison with photos, starting prices and aligned spec rows, with the recommended trim highlighted.

Bootstrap 5 No jQuery Jun 2020 2.5K views

<section class="wdw-stage cmp-stage">
  <div class="container" style="max-width:1040px">
    <div class="text-center mb-4">
      <span class="wdw-eyebrow">Compare models</span>
      <h1 class="wdw-heading h2 mt-1 mb-0">Three models, one platform</h1>
    </div>
    <div class="row g-4">
      <div class="col-md-4">
        <article class="card h-100 wdw-card overflow-hidden border-0">
          <div class="cmp-media"><img src="https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=720&h=360&q=80" alt="Black sports sedan seen from behind on a highway at dusk"></div>
          <div class="card-body p-4 d-flex flex-column">
            <div class="d-flex justify-content-between align-items-baseline gap-2"><h2 class="h4 wdw-heading mb-0">Touring</h2><span class="fs-4 fw-bold text-body-emphasis">$22,495</span></div>
            <div class="wdw-muted small mb-3">Everyday comfort, done right</div>
            <dl class="cmp-specs small mb-3"><div class="cmp-row"><dt>Power</dt><dd>235 hp</dd></div><div class="cmp-row"><dt>0–100 km/h</dt><dd>7.1 s</dd></div><div class="cmp-row"><dt>Fuel economy</dt><dd>7.1 L/100km</dd></div><div class="cmp-row"><dt>Wheels</dt><dd>15" steel</dd></div><div class="cmp-row"><dt>All-wheel drive</dt><dd><span class="cmp-no"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg><span class="visually-hidden">Not included</span></span></dd></div><div class="cmp-row"><dt>Heated seats</dt><dd><span class="cmp-no"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg><span class="visually-hidden">Not included</span></span></dd></div><div class="cmp-row"><dt>Sport suspension</dt><dd><span class="cmp-no"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg><span class="visually-hidden">Not included</span></span></dd></div></dl>
            <a href="#" class="btn btn-outline-primary rounded-pill mt-auto">Build & price</a>
          </div>
        </article>
      </div>
      <div class="col-md-4">
        <article class="card h-100 wdw-card overflow-hidden border border-2 border-primary">
          <div class="cmp-media"><img src="https://images.unsplash.com/photo-1494976388531-d1058494cdd8?auto=format&fit=crop&w=720&h=360&q=80" alt="Dark muscle car facing the camera on a rooftop car park"><span class="badge rounded-pill text-bg-primary cmp-flag">Most popular</span></div>
          <div class="card-body p-4 d-flex flex-column">
            <div class="d-flex justify-content-between align-items-baseline gap-2"><h2 class="h4 wdw-heading mb-0">Sport</h2><span class="fs-4 fw-bold text-body-emphasis">$24,995</span></div>
            <div class="wdw-muted small mb-3">Sharper looks and handling</div>
            <dl class="cmp-specs small mb-3"><div class="cmp-row"><dt>Power</dt><dd>235 hp</dd></div><div class="cmp-row"><dt>0–100 km/h</dt><dd>6.4 s</dd></div><div class="cmp-row"><dt>Fuel economy</dt><dd>7.9 L/100km</dd></div><div class="cmp-row"><dt>Wheels</dt><dd>16" alloy</dd></div><div class="cmp-row"><dt>All-wheel drive</dt><dd><span class="cmp-no"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18"/></svg><span class="visually-hidden">Not included</span></span></dd></div><div class="cmp-row"><dt>Heated seats</dt><dd><span class="cmp-yes"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">Included</span></span></dd></div><div class="cmp-row"><dt>Sport suspension</dt><dd><span class="cmp-yes"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">Included</span></span></dd></div></dl>
            <a href="#" class="btn btn-primary rounded-pill mt-auto">Build & price</a>
          </div>
        </article>
      </div>
      <div class="col-md-4">
        <article class="card h-100 wdw-card overflow-hidden border-0">
          <div class="cmp-media"><img src="https://images.unsplash.com/photo-1555215695-3004980ad54e?auto=format&fit=crop&w=720&h=360&q=80" alt="Pale grey sports sedan with bronze wheels driving past palm trees"></div>
          <div class="card-body p-4 d-flex flex-column">
            <div class="d-flex justify-content-between align-items-baseline gap-2"><h2 class="h4 wdw-heading mb-0">Performance</h2><span class="fs-4 fw-bold text-body-emphasis">$27,995</span></div>
            <div class="wdw-muted small mb-3">Tuned for the open road</div>
            <dl class="cmp-specs small mb-3"><div class="cmp-row"><dt>Power</dt><dd>320 hp</dd></div><div class="cmp-row"><dt>0–100 km/h</dt><dd>4.9 s</dd></div><div class="cmp-row"><dt>Fuel economy</dt><dd>9.2 L/100km</dd></div><div class="cmp-row"><dt>Wheels</dt><dd>17" sport</dd></div><div class="cmp-row"><dt>All-wheel drive</dt><dd><span class="cmp-yes"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">Included</span></span></dd></div><div class="cmp-row"><dt>Heated seats</dt><dd><span class="cmp-yes"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">Included</span></span></dd></div><div class="cmp-row"><dt>Sport suspension</dt><dd><span class="cmp-yes"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">Included</span></span></dd></div></dl>
            <a href="#" class="btn btn-outline-primary rounded-pill mt-auto">Build & price</a>
          </div>
        </article>
      </div>
    </div>
  </div>
</section>

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