webdevpuneet.com

Glide.js Logo Carousel Autoplay — Marketing Logo Strip Snippet

Glide.js Logo Carousel Autoplay · Carousels · Plain HTML, CSS & JS · Live preview

Copy & paste

Source Code

<div class="glc-stage">
  <div class="glc-head">
    <span class="glc-tag">Glide.js · autoplay + hoverpause</span>
    <h2>Trusted by teams at</h2>
  </div>
  <div class="glide glc-glide">
    <div class="glide__track" data-glide-el="track">
      <ul class="glide__slides">
        <li class="glide__slide"><div class="glc-logo">NORTHLANE</div></li>
        <li class="glide__slide"><div class="glc-logo">FJORD&nbsp;CO</div></li>
        <li class="glide__slide"><div class="glc-logo">LEDGER</div></li>
        <li class="glide__slide"><div class="glc-logo">TRELLIS</div></li>
        <li class="glide__slide"><div class="glc-logo">ORBITAL</div></li>
        <li class="glide__slide"><div class="glc-logo">VANTAGE</div></li>
        <li class="glide__slide"><div class="glc-logo">HARBOR&nbsp;&amp;&nbsp;KIN</div></li>
        <li class="glide__slide"><div class="glc-logo">MERIDIAN</div></li>
      </ul>
    </div>
  </div>
  <p class="glc-hint">Hover the strip to pause — move away and it resumes.</p>
</div>

Extend with AI

Take This Snippet Further With AI

The AI prompt for this one is for Patreon supporters ($3 a month, 7 days free), along with a site with no ads. Supporters enter the passcode once and it is remembered in this browser.

· Become a supporter

What's included

Features

Continuous ambient autoplay
Linear easing plus a short interval makes the loop feel like a drifting ticker, not discrete slides.
Hover-to-pause
hoverpause: true lets a user stop the strip to actually read a logo.
Responsive breakpoints
Glide's built-in breakpoints option swaps perView at three widths with no custom resize code.
Edge fade mask
A CSS gradient mask fades logos in/out at the container edges instead of hard-clipping them.
Infinite loop
type: 'carousel' wraps seamlessly so the strip never visibly resets.
No logo assets required
Text wordmarks stand in for real client logos, swappable for SVGs with no config change.
Dim-to-bright hover state
Individual logos brighten on hover for a subtle interactive touch.
No build step
Runs from two CDN files with plain HTML/CSS/JS.

About this UI Snippet

Glide.js Logo Carousel Autoplay — The Marketing Logo Strip Pattern

Screenshot of the Glide.js Logo Carousel Autoplay snippet rendered live

Every SaaS marketing page has one of these: a row of client logos slowly drifting sideways under a "Trusted by teams at" headline. It looks like a passive, ambient animation, but underneath it's the same type: 'carousel' plus autoplay combination as the testimonial slider — configured for a very different feel.

Why linear easing matters here specifically

js animationDuration: 800, animationTimingFunc: 'linear',

The testimonial slider used a default eased transition — appropriate for a slide that should feel like it's settling into place. A logo strip is the opposite: it's meant to read as *continuous, ambient motion*, closer to a ticker tape than a deliberate slide change. animationTimingFunc: 'linear' removes the ease-in/ease-out curve so the strip moves at a constant velocity throughout each transition, which is what makes back-to-back autoplay advances feel like one smooth drift rather than a series of distinct, decelerating snaps.

perView: 5 with responsive breakpoints

js perView: 5, breakpoints: { 900: { perView: 4 }, 640: { perView: 3 }, 420: { perView: 2 } },

breakpoints is Glide's built-in responsive config system: keys are max-width pixel values, and each maps to an options object that *overrides* the base config once the viewport is at or below that width. Glide attaches a resize listener internally and swaps configurations live — you never write your own window.matchMedia or resize handler. This matters a lot for a logo strip specifically, because showing 5 logos at once on a 380px-wide phone screen would squeeze each one down to an unreadable sliver; dropping to perView: 2 at the narrowest breakpoint keeps every wordmark legible.

The edge fade mask

-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)

This is plain CSS, not a Glide feature, but it's what sells the "infinite ticker" illusion: without it, logos would abruptly appear and disappear at the hard edges of the container as the carousel loops. Masking the strip with a gradient that fades to transparent in the outer 8% on each side makes logos fade in and out gently instead of clipping, which reads as continuous rather than mechanical.

hoverpause as an accessibility/UX safety valve

Autoplay for social-proof logos is a case where pausing on hover matters more than it might for a background animation: a user who wants to actually *read* a specific logo — check if their own company or a competitor is listed — needs the strip to stop moving under their cursor. hoverpause: true (the same option as the testimonial slider) makes that automatic with zero extra JS: Glide's Autoplay component already listens for mouseenter/mouseleave on the track and pauses/resumes accordingly.

Reusing it

Swap the text wordmarks for real logo images (SVGs work best, sized to a consistent height with object-fit: contain) and the mechanism doesn't change at all — perView, breakpoints, autoplay, and the mask technique apply identically. Pair this with the product gallery slider if you also need a manually-navigable, non-autoplaying multi-item slider elsewhere on the same page.

Step by step

How to Use

  1. 1
    Add both Glide.js CDN filesInclude glide.min.js and glide.core.min.css from the CDN panel.
  2. 2
    Paste HTML, CSS, and JSEight wordmark tiles render in a row and begin auto-scrolling immediately.
  3. 3
    Watch the continuous driftanimationTimingFunc: 'linear' plus a short autoplay interval reads as ambient motion, not discrete slides.
  4. 4
    Hover the striphoverpause: true stops the scroll so a specific logo can be read, then resumes on mouseleave.
  5. 5
    Resize the windowbreakpoints drops perView from 5 down to 2 at narrower widths automatically.
  6. 6
    Swap in real logosReplace the text wordmarks with SVG images at a consistent height — the Glide config needs no changes.

Real-world uses

Common Use Cases

SaaS trusted-by strips
Build the canonical row of client wordmarks drifting sideways, using linear easing and a short interval so motion feels continuous.
Investor and partner pages
Rotate through partner or backer logos, pausing on hover with hoverpause: true so someone can actually read one.
Conference sponsor pages
Auto-scroll sponsor wordmarks on conference pages, with Glide's breakpoints option changing perView at three screen widths.
Case study indexes
Show a logo strip that links out to individual case studies, with a CSS gradient mask fading logos at the container edges.
Glide breakpoints teaching
Learn a clear, minimal example of responsive perView changes, built on the same type: 'carousel' and autoplay as a testimonial slider.

Got questions?

Frequently Asked Questions

The default eased transition decelerates into each new slide, which reads as a deliberate, discrete "slide change" — appropriate for content like testimonials. A logo strip is meant to look like continuous ambient motion, and linear easing keeps velocity constant through the whole transition, so consecutive autoplay advances blend into one smooth drift instead of a series of distinct snaps.

breakpoints takes an object whose keys are max-width pixel values; Glide attaches its own resize listener and, once the viewport width drops to or below a given key, merges that key's options object over the base configuration. Here, perView drops from 5 to 4, 3, then 2 as the screen narrows, so logos never get squeezed down to unreadable slivers on small screens — no manual matchMedia or resize code is needed.

It's plain CSS, applied to the outer .glc-glide wrapper: a linear gradient mask that fades to transparent in the outer 8% on each side. Glide only manages slide positioning and timing, not visual edge treatment, so the fade is implemented independently in CSS — it makes logos appear to gently fade in/out at the edges instead of abruptly clipping as the loop advances.

A logo strip carries information a visitor might actually want to read — checking whether their own company, a competitor, or a recognizable brand is listed. Without hoverpause, the strip would keep moving under the cursor and make that impossible; hoverpause: true (built into Glide's Autoplay component) pauses on mouseenter and resumes on mouseleave with no extra code.

Yes, with no changes to the Glide configuration — swap each .glc-logo div's text content for an <img> (SVGs work best) sized to a consistent height with object-fit: contain, so mixed-aspect-ratio logos still align on one row.

Same reason as the testimonial slider: type: 'slider' is bounded and stops at the last slide, which would make autoplay dead-end instead of looping. type: 'carousel' wraps infinitely, which is required for the strip to appear to scroll forever.