Snippets Animation

Bootstrap 5 Infinite Logo Carousel (CSS Marquee)

A social-proof band with customer stats above an endlessly scrolling logo marquee in opposite directions, edge fade masks and pause on hover. It is pure CSS with a pause button, and it stops moving for visitors who prefer reduced motion.

Bootstrap 5 No jQuery Jan 2020 16.8K views

<section class="wdw-stage mq-stage"><div class="container" style="max-width: 1040px;">
<div class="text-center mb-4"><span class="wdw-eyebrow mb-3">Social proof</span>
<h1 class="h2 wdw-heading mb-2">Trusted by fast-moving teams</h1>
<p class="text-body-secondary mb-0">An endless logo carousel. Hover to pause, or use the pause button.</p></div>
<div class="card wdw-card overflow-hidden position-relative mq-band">
<button type="button" class="btn btn-sm rounded-circle mq-toggle" aria-pressed="false" aria-label="Pause animation"><svg class="mq-ic-pause" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/></svg><svg class="mq-ic-play" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M7 4.5v15a1 1 0 0 0 1.5.86l12.5-7.5a1 1 0 0 0 0-1.72L8.5 3.64A1 1 0 0 0 7 4.5z"/></svg></button>
<div class="row g-3 text-center px-4 pt-4 pb-3 pe-5 mq-stats"><div class="col-4"><div class="fs-4 fw-bold text-body-emphasis lh-1">2,400+</div><div class="small text-body-secondary mt-1">Teams onboarded</div></div><div class="col-4"><div class="fs-4 fw-bold text-body-emphasis lh-1">99.9%</div><div class="small text-body-secondary mt-1">Uptime, last 12 months</div></div><div class="col-4"><div class="fs-4 fw-bold text-body-emphasis lh-1">4.9 / 5</div><div class="small text-body-secondary mt-1">Average customer rating</div></div></div>
<div class="mq-rows border-top pt-3 pb-3"><div class="mq-row  " role="group" aria-label="Customer logos"><div class="mq-track"><ul class="mq-list list-unstyled mb-0 d-flex"><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3 29 26H3z" opacity=".35"/><path d="M16 11 23 24H9z"/></svg><span>Northwind</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="6"/><path d="M16 2v5M16 25v5M2 16h5M25 16h5M6 6l3.5 3.5M22.5 22.5 26 26M6 26l3.5-3.5M22.5 9.5 26 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none"/></svg><span>Lumen</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="5"/><ellipse cx="16" cy="16" rx="14" ry="6" fill="none" stroke="currentColor" stroke-width="2.2" transform="rotate(-25 16 16)"/></svg><span>Orbital</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M6 4h20v6H14v5h9v6h-9v7H6z"/></svg><span>Fable</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M4 6h5l5 10-5 10H4l5-10zM16 6h5l7 10-7 10h-5l7-10z"/></svg><span>Kinetic</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26m0 5 6 10H10z" fill-rule="evenodd"/></svg><span>Aperture</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><rect x="3" y="3" width="26" height="26" rx="13" opacity=".35"/><path d="M16 3v26" stroke="currentColor" stroke-width="3"/><path d="M5 12h22M5 20h22" stroke="currentColor" stroke-width="2" opacity=".7"/></svg><span>Meridian</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 2 28 9v14L16 30 4 23V9z" opacity=".35"/><path d="M16 9l6 3.5v7L16 23l-6-3.5v-7z"/></svg><span>Quanta</span></span></li></ul><ul class="mq-list mq-dup list-unstyled mb-0 d-flex" aria-hidden="true" inert><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3 29 26H3z" opacity=".35"/><path d="M16 11 23 24H9z"/></svg><span>Northwind</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="6"/><path d="M16 2v5M16 25v5M2 16h5M25 16h5M6 6l3.5 3.5M22.5 22.5 26 26M6 26l3.5-3.5M22.5 9.5 26 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none"/></svg><span>Lumen</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="5"/><ellipse cx="16" cy="16" rx="14" ry="6" fill="none" stroke="currentColor" stroke-width="2.2" transform="rotate(-25 16 16)"/></svg><span>Orbital</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M6 4h20v6H14v5h9v6h-9v7H6z"/></svg><span>Fable</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M4 6h5l5 10-5 10H4l5-10zM16 6h5l7 10-7 10h-5l7-10z"/></svg><span>Kinetic</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26m0 5 6 10H10z" fill-rule="evenodd"/></svg><span>Aperture</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><rect x="3" y="3" width="26" height="26" rx="13" opacity=".35"/><path d="M16 3v26" stroke="currentColor" stroke-width="3"/><path d="M5 12h22M5 20h22" stroke="currentColor" stroke-width="2" opacity=".7"/></svg><span>Meridian</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 2 28 9v14L16 30 4 23V9z" opacity=".35"/><path d="M16 9l6 3.5v7L16 23l-6-3.5v-7z"/></svg><span>Quanta</span></span></li></ul></div></div><div class="mq-row mq-rev " role="group" aria-label="Customer logos"><div class="mq-track"><ul class="mq-list list-unstyled mb-0 d-flex"><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M6 4h20v6H14v5h9v6h-9v7H6z"/></svg><span>Fable</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M4 6h5l5 10-5 10H4l5-10zM16 6h5l7 10-7 10h-5l7-10z"/></svg><span>Kinetic</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26m0 5 6 10H10z" fill-rule="evenodd"/></svg><span>Aperture</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><rect x="3" y="3" width="26" height="26" rx="13" opacity=".35"/><path d="M16 3v26" stroke="currentColor" stroke-width="3"/><path d="M5 12h22M5 20h22" stroke="currentColor" stroke-width="2" opacity=".7"/></svg><span>Meridian</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 2 28 9v14L16 30 4 23V9z" opacity=".35"/><path d="M16 9l6 3.5v7L16 23l-6-3.5v-7z"/></svg><span>Quanta</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3 29 26H3z" opacity=".35"/><path d="M16 11 23 24H9z"/></svg><span>Northwind</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="6"/><path d="M16 2v5M16 25v5M2 16h5M25 16h5M6 6l3.5 3.5M22.5 22.5 26 26M6 26l3.5-3.5M22.5 9.5 26 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none"/></svg><span>Lumen</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="5"/><ellipse cx="16" cy="16" rx="14" ry="6" fill="none" stroke="currentColor" stroke-width="2.2" transform="rotate(-25 16 16)"/></svg><span>Orbital</span></span></li></ul><ul class="mq-list mq-dup list-unstyled mb-0 d-flex" aria-hidden="true" inert><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M6 4h20v6H14v5h9v6h-9v7H6z"/></svg><span>Fable</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M4 6h5l5 10-5 10H4l5-10zM16 6h5l7 10-7 10h-5l7-10z"/></svg><span>Kinetic</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26m0 5 6 10H10z" fill-rule="evenodd"/></svg><span>Aperture</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><rect x="3" y="3" width="26" height="26" rx="13" opacity=".35"/><path d="M16 3v26" stroke="currentColor" stroke-width="3"/><path d="M5 12h22M5 20h22" stroke="currentColor" stroke-width="2" opacity=".7"/></svg><span>Meridian</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 2 28 9v14L16 30 4 23V9z" opacity=".35"/><path d="M16 9l6 3.5v7L16 23l-6-3.5v-7z"/></svg><span>Quanta</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3 29 26H3z" opacity=".35"/><path d="M16 11 23 24H9z"/></svg><span>Northwind</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="6"/><path d="M16 2v5M16 25v5M2 16h5M25 16h5M6 6l3.5 3.5M22.5 22.5 26 26M6 26l3.5-3.5M22.5 9.5 26 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none"/></svg><span>Lumen</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="5"/><ellipse cx="16" cy="16" rx="14" ry="6" fill="none" stroke="currentColor" stroke-width="2.2" transform="rotate(-25 16 16)"/></svg><span>Orbital</span></span></li></ul></div></div><div class="mq-row mq-slow d-none d-md-block" role="group" aria-label="Customer logos"><div class="mq-track"><ul class="mq-list list-unstyled mb-0 d-flex"><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><rect x="3" y="3" width="26" height="26" rx="13" opacity=".35"/><path d="M16 3v26" stroke="currentColor" stroke-width="3"/><path d="M5 12h22M5 20h22" stroke="currentColor" stroke-width="2" opacity=".7"/></svg><span>Meridian</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 2 28 9v14L16 30 4 23V9z" opacity=".35"/><path d="M16 9l6 3.5v7L16 23l-6-3.5v-7z"/></svg><span>Quanta</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3 29 26H3z" opacity=".35"/><path d="M16 11 23 24H9z"/></svg><span>Northwind</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="6"/><path d="M16 2v5M16 25v5M2 16h5M25 16h5M6 6l3.5 3.5M22.5 22.5 26 26M6 26l3.5-3.5M22.5 9.5 26 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none"/></svg><span>Lumen</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="5"/><ellipse cx="16" cy="16" rx="14" ry="6" fill="none" stroke="currentColor" stroke-width="2.2" transform="rotate(-25 16 16)"/></svg><span>Orbital</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M6 4h20v6H14v5h9v6h-9v7H6z"/></svg><span>Fable</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M4 6h5l5 10-5 10H4l5-10zM16 6h5l7 10-7 10h-5l7-10z"/></svg><span>Kinetic</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26m0 5 6 10H10z" fill-rule="evenodd"/></svg><span>Aperture</span></span></li></ul><ul class="mq-list mq-dup list-unstyled mb-0 d-flex" aria-hidden="true" inert><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><rect x="3" y="3" width="26" height="26" rx="13" opacity=".35"/><path d="M16 3v26" stroke="currentColor" stroke-width="3"/><path d="M5 12h22M5 20h22" stroke="currentColor" stroke-width="2" opacity=".7"/></svg><span>Meridian</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 2 28 9v14L16 30 4 23V9z" opacity=".35"/><path d="M16 9l6 3.5v7L16 23l-6-3.5v-7z"/></svg><span>Quanta</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3 29 26H3z" opacity=".35"/><path d="M16 11 23 24H9z"/></svg><span>Northwind</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="6"/><path d="M16 2v5M16 25v5M2 16h5M25 16h5M6 6l3.5 3.5M22.5 22.5 26 26M6 26l3.5-3.5M22.5 9.5 26 6" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" fill="none"/></svg><span>Lumen</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><circle cx="16" cy="16" r="5"/><ellipse cx="16" cy="16" rx="14" ry="6" fill="none" stroke="currentColor" stroke-width="2.2" transform="rotate(-25 16 16)"/></svg><span>Orbital</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M6 4h20v6H14v5h9v6h-9v7H6z"/></svg><span>Fable</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M4 6h5l5 10-5 10H4l5-10zM16 6h5l7 10-7 10h-5l7-10z"/></svg><span>Kinetic</span></span></li><li><span class="mq-logo d-inline-flex align-items-center gap-2 text-body"><svg width="28" height="28" viewBox="0 0 32 32" fill="currentColor" aria-hidden="true"><path d="M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26m0 5 6 10H10z" fill-rule="evenodd"/></svg><span>Aperture</span></span></li></ul></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.