Snippets Animation

Bootstrap 5 Scrolling Card Carousel

A swipeable card carousel showing three cards at a time on desktop with aurora headers, arrow buttons and a progress bar.

Bootstrap 5 No jQuery Jan 2020 2.7K views

<section class="wdw-stage">
  <div class="container" style="max-width: 1080px">
    <div class="d-flex flex-wrap align-items-end justify-content-between gap-3 mb-4">
      <div>
        <span class="wdw-eyebrow">Play together</span>
        <h2 class="wdw-heading display-6 mb-1">Games for the whole family</h2>
        <p class="wdw-muted fs-5 mb-0">Six ways to turn a free evening into a shared one.</p>
      </div>
      <div class="d-flex gap-2" role="group" aria-label="Carousel controls">
        <button type="button" class="btn btn-outline-secondary rounded-circle p-0 cc-prev" style="width:44px" aria-label="Previous games">
          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M15 6l-6 6 6 6"/></svg></button>
        <button type="button" class="btn btn-primary rounded-circle p-0 cc-next" style="width:44px" aria-label="Next games">
          <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"/></svg></button>
      </div>
    </div>
    <div class="cc-carousel" role="region" aria-roledescription="carousel" aria-label="Family games">
      <ul class="cc-track list-unstyled mb-0">
        <li class="cc-slide" role="group" aria-roledescription="slide" aria-label="1 of 6">
          <article class="wdw-card-sm h-100 overflow-hidden d-flex flex-column">
            <div class="cc-head wdw-aurora cc-tone-0 d-flex align-items-start justify-content-between p-4">
              <span class="cc-glyph" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 12l2 2 4-4M12 3l2.5 2.2 3.3-.3.8 3.2 2.9 1.7-1.3 3 1.3 3-2.9 1.7-.8 3.2-3.3-.3L12 21l-2.5-2.2-3.3.3-.8-3.2L2.5 14l1.3-3-1.3-3 2.9-1.7.8-3.2 3.3.3z"/></svg></span>
              <span class="badge rounded-pill cc-badge">01 / 06</span>
            </div>
            <div class="p-4 d-flex flex-column flex-grow-1">
              <h3 class="h4 wdw-heading mb-2">Who's the best?</h3>
              <p class="wdw-muted mb-4">1500 questions and answers for family or friends. Five categories, from history and geography to general culture.</p>
              <a href="#" class="btn btn-outline-primary rounded-pill mt-auto align-self-start px-4" aria-label="Learn more about Who's the best?">Learn more</a>
            </div>
          </article>
        </li>
        <li class="cc-slide" role="group" aria-roledescription="slide" aria-label="2 of 6">
          <article class="wdw-card-sm h-100 overflow-hidden d-flex flex-column">
            <div class="cc-head wdw-aurora cc-tone-1 d-flex align-items-start justify-content-between p-4">
              <span class="cc-glyph" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2l9 5v10l-9 5-9-5V7zM12 12l9-5M12 12v10M12 12L3 7"/></svg></span>
              <span class="badge rounded-pill cc-badge">02 / 06</span>
            </div>
            <div class="p-4 d-flex flex-column flex-grow-1">
              <h3 class="h4 wdw-heading mb-2">Story Cubes</h3>
              <p class="wdw-muted mb-4">Roll nine dice and invent a tale together. Ideal for evenings with children and grandparents alike.</p>
              <a href="#" class="btn btn-outline-primary rounded-pill mt-auto align-self-start px-4" aria-label="Learn more about Story Cubes">Learn more</a>
            </div>
          </article>
        </li>
        <li class="cc-slide" role="group" aria-roledescription="slide" aria-label="3 of 6">
          <article class="wdw-card-sm h-100 overflow-hidden d-flex flex-column">
            <div class="cc-head wdw-aurora cc-tone-2 d-flex align-items-start justify-content-between p-4">
              <span class="cc-glyph" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5h16v11H9l-5 4zM8 9h8M8 12h5"/></svg></span>
              <span class="badge rounded-pill cc-badge">03 / 06</span>
            </div>
            <div class="p-4 d-flex flex-column flex-grow-1">
              <h3 class="h4 wdw-heading mb-2">Table Talk</h3>
              <p class="wdw-muted mb-4">Conversation cards that spark real discussion around the Shabbat table, from light to deep.</p>
              <a href="#" class="btn btn-outline-primary rounded-pill mt-auto align-self-start px-4" aria-label="Learn more about Table Talk">Learn more</a>
            </div>
          </article>
        </li>
        <li class="cc-slide" role="group" aria-roledescription="slide" aria-label="4 of 6">
          <article class="wdw-card-sm h-100 overflow-hidden d-flex flex-column">
            <div class="cc-head wdw-aurora cc-tone-0 d-flex align-items-start justify-content-between p-4">
              <span class="cc-glyph" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0zM17 5h3v2a3 3 0 0 1-3 3M7 5H4v2a3 3 0 0 0 3 3"/></svg></span>
              <span class="badge rounded-pill cc-badge">04 / 06</span>
            </div>
            <div class="p-4 d-flex flex-column flex-grow-1">
              <h3 class="h4 wdw-heading mb-2">Trivia Duel</h3>
              <p class="wdw-muted mb-4">Fast head-to-head rounds for two players. Answer first, climb the ladder, claim the crown.</p>
              <a href="#" class="btn btn-outline-primary rounded-pill mt-auto align-self-start px-4" aria-label="Learn more about Trivia Duel">Learn more</a>
            </div>
          </article>
        </li>
        <li class="cc-slide" role="group" aria-roledescription="slide" aria-label="5 of 6">
          <article class="wdw-card-sm h-100 overflow-hidden d-flex flex-column">
            <div class="cc-head wdw-aurora cc-tone-1 d-flex align-items-start justify-content-between p-4">
              <span class="cc-glyph" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/></svg></span>
              <span class="badge rounded-pill cc-badge">05 / 06</span>
            </div>
            <div class="p-4 d-flex flex-column flex-grow-1">
              <h3 class="h4 wdw-heading mb-2">Word Chain</h3>
              <p class="wdw-muted mb-4">Build chains of words under a ticking clock. Simple rules, endless rounds, all ages.</p>
              <a href="#" class="btn btn-outline-primary rounded-pill mt-auto align-self-start px-4" aria-label="Learn more about Word Chain">Learn more</a>
            </div>
          </article>
        </li>
        <li class="cc-slide" role="group" aria-roledescription="slide" aria-label="6 of 6">
          <article class="wdw-card-sm h-100 overflow-hidden d-flex flex-column">
            <div class="cc-head wdw-aurora cc-tone-2 d-flex align-items-start justify-content-between p-4">
              <span class="cc-glyph" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 8v4l3 2M21 12a9 9 0 1 1-3-6.7M21 4v5h-5"/></svg></span>
              <span class="badge rounded-pill cc-badge">06 / 06</span>
            </div>
            <div class="p-4 d-flex flex-column flex-grow-1">
              <h3 class="h4 wdw-heading mb-2">Memory Lane</h3>
              <p class="wdw-muted mb-4">Match pairs from family history and tradition. A gentle game that trains recall for everyone.</p>
              <a href="#" class="btn btn-outline-primary rounded-pill mt-auto align-self-start px-4" aria-label="Learn more about Memory Lane">Learn more</a>
            </div>
          </article>
        </li>
      </ul>
    </div>
    <div class="cc-progress progress mt-4" role="progressbar" aria-label="Carousel position" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" style="height:4px"><div class="progress-bar" style="width:0"></div></div>
  </div>
</section>

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