Galerie✨ Premium

Logo Ticker

Une rangée de cases à logos qui défile lentement en continu ; la case sous la souris ou au focus s'éclaire, et la bande entière s'arrête pour la regarder.

CSSLogos

Mis à jour le

Cet effet fait partie d'Effect.Labs — 840 effets vanilla, une partie gratuite, une partie premium. Galerie comprend 44 effets, dont 6 gratuits. Découvrir la catégorie →

3 exemples d'usage

« Ils nous font confiance » — sous le haut de page d'un logiciel de facturation — Logo Ticker exemple 1

① « Ils nous font confiance » — sous le haut de page d'un logiciel de facturation

QuandSur l'accueil de Quillance, entre la promesse (« Devis, factures et relances, au même endroit ») et les trois fonctions clés, six logos clients défilent dans des cases blanches au bord ardoise.
PourquoiLa preuve sociale se lit d'un coup d'œil sans occuper une section entière, et la rangée continue montre qu'il y a plus de clients que de place. Les cases ardoise s'accordent au fond clair du site.
Réglagesdata-speed="32", --lgmq-tint: 15, 23, 42, --lgmq-text: #475569, --lgmq-text-hover: #0f172a, --lgmq-logo-width: 116px, --lgmq-logo-height: 44px, --lgmq-space: 12px ; un <svg> de marque à côté de chaque nom.
Exposants d'un marché de créateurs — des cartes-liens vers chaque stand — Logo Ticker exemple 2

② Exposants d'un marché de créateurs — des cartes-liens vers chaque stand

QuandSur la page du marché de Vauclère, sous les dates et le bouton « Préparer ma visite », la rangée « Exposants » fait passer de grandes cases de 182 × 74 px : vignette, nom de l'atelier, métier et numéro de stand. Chaque case est un lien.
PourquoiLa rangée sert de menu vivant : on repère un métier qui plaît, la souris arrête la bande et éclaire la case, un clic mène au stand. Les vignettes en motifs tissés, cuir ou céramique annoncent le métier avant le texte.
Réglagesdata-speed="38", --lgmq-logo-width: 182px, --lgmq-logo-height: 74px, --lgmq-tint: 243, 238, 226, --lgmq-text: #f3eee2, --lgmq-space: 10px ; cases en <a class="lgmq-logo">.
Moyens de paiement acceptés — juste sous le bouton Payer — Logo Ticker exemple 3

③ Moyens de paiement acceptés — juste sous le bouton Payer

QuandSur la page de paiement d'une boutique, sous le bouton « Payer 84,00 € », une petite rangée de pastilles de 26 px fait passer les moyens acceptés : carte bancaire, virement, paiement en 3 fois, carte cadeau, paiement mobile.
PourquoiL'information rassure au moment de payer sans alourdir le formulaire : la rangée tient dans la largeur du bouton et avance assez lentement (26 px/s) pour se lire en passant.
Réglagesdata-speed="26", --lgmq-logo-width: auto, --lgmq-logo-height: 26px, --lgmq-tint: 17, 24, 39, --lgmq-text: #374151, --lgmq-space: 6px, --lgmq-button-size: 20px ; petite icône dessinée en CSS devant chaque libellé.

Comment ça marche

Chaque .lgmq-logo est une case de 120 × 60 px (--lgmq-logo-width, --lgmq-logo-height) au fond légèrement teinté et au bord fin. Vous y mettez ce que vous avez : le nom en texte, une <img> ou un <svg> de logo (limité à 60 % de la hauteur pour garder de l'air), ou une case entière en lien <a class="lgmq-logo">.

La rangée avance à 40 px par seconde (data-speed). Le script recopie la liste autant de fois que la largeur l'exige et règle la durée sur sa longueur. Quand des images de logos arrivent après le premier calcul, la liste s'élargit : le ResizeObserver refait le compte : aucun vide n'apparaît, mais la rangée fait un saut, une fois, à ce moment-là. Donnez une largeur à vos images pour l'éviter. Avant réparation, un trou apparaissait au-delà de 1 000 px de large.

Au survol d'une case, son fond, son bord et son texte s'éclaircissent en 0,3 s, et la bande s'arrête sous la souris pour qu'on puisse la lire ou cliquer. La teinte des cases est une seule variable, --lgmq-tint, écrite en R, G, B : 15, 23, 42 donne des cases ardoise pour un fond clair.

Accessibilité

  • Arrêt : bouton Pause à aria-pressed au bout de la rangée, plus l'arrêt au survol (WCAG 2.2.2).
  • Logos en image : donnez à chaque <img> un alt avec le nom de l'entreprise ; seule la liste d'origine est lue, les doubles portent aria-hidden="true" (avant réparation, chaque case était annoncée deux fois).
  • Cases en lien : avec <a class="lgmq-logo">, Tab parcourt les cases d'origine uniquement ; la case focalisée s'éclaire comme au survol, la rangée revient au départ, s'immobilise et glisse jusqu'à elle.
  • Mouvement réduit : avec prefers-reduced-motion: reduce, la rangée reste immobile et se fait défiler à la main, ou aux flèches après Tab quand elle dépasse (elle reçoit alors le focus clavier) ; l'éclairage des cases reste actif.
  • Contraste : le texte par défaut (blanc à 60 %) sur la case teintée atteint 7:1 sur fond #0a0a0f ; changez --lgmq-text sur fond clair.

Compatibilité navigateur

Animation CSS, couleurs en rgba(var(--lgmq-tint), …), 4,5 Ko de JavaScript commenté, aucune dépendance. ResizeObserver (Chrome 64, Firefox 69, Safari 13.1) suit le chargement tardif des images. Mesuré dans Chromium 151, Firefox 153 et WebKit 26.5 : rangée pleine à 390, 800 et 1 900 px, éclairage au survol et au focus, 0 erreur.

Chrome 74+✓ Complet (mesuré)
Firefox 69+✓ Complet (mesuré)
Safari 13.1+✓ Complet (moteur WebKit mesuré)
Edge 79+✓ Complet (moteur Chromium)
Mobile iOS 13.4+✓ Complet (moteur WebKit mesuré)
Android Chrome 74+✓ Complet (moteur Chromium)

Sans JavaScript, les cases s'alignent une fois, immobiles, dans une rangée défilable à la main. Dans Safari avant 13.1, une image chargée après coup peut laisser un court vide jusqu'au prochain redimensionnement : donnez une largeur à vos <img>.

Le code

Structure HTML à coller dans votre page (le CSS + JS sont inclus avec votre achat) :

index.html — structure
<div class="fx-0195-root" data-speed="40" data-direction="left">
  <div class="lgmq-band">
    <div class="lgmq-viewport">
      <div class="lgmq-track">
        <ul class="lgmq-group" role="list">
          <li><div class="lgmq-logo"><img src="logo-client.svg" alt="Nom du client"></div></li>
          <li><a class="lgmq-logo" href="/partenaire">Partenaire</a></li>
        </ul>
      </div>
    </div>
    <button type="button" class="lgmq-toggle" aria-pressed="false" aria-label="Pause"></button>
  </div>
</div>

Paiement unique, sans abonnement — le code est à toi pour toujours

Personnaliser

Options passées à l'API ou attributs data-* :

Option / propriétéDéfautEffet
Cases (HTML — .lgmq-logo dans chaque <li>) 6 cases « Logo N » Texte, <img>, <svg>, ou case en lien <a>. Écrites une fois.
--lgmq-logo-width / --lgmq-logo-height 120px / 60px Taille d'une case ; auto en largeur pour suivre le contenu.
--lgmq-tint 99, 102, 241 Teinte du fond (10 %, 20 % au survol) et du bord (30 %, 50 % au survol), en R, G, B.
--lgmq-text / --lgmq-text-hover rgba(255, 255, 255, .6) / #fff Texte d'une case au repos et éclairée.
data-speed / data-direction 40 / left Pixels par seconde et sens de la rangée.
--lgmq-space 3rem Écart entre deux cases.
--lgmq-height / --lgmq-bg / --lgmq-padding 180px / #0a0a0f / 1rem 0 Cadre de démonstration.
--lgmq-button / --lgmq-button-size rgba(255, 255, 255, .8) / 2rem Bouton Pause.

FAQ

La case centre son contenu et limite l'image à toute la largeur et 60 % de la hauteur, sans la déformer (object-fit: contain). Un logo carré et un logo très large tiennent donc dans la même case ; pour des logos tous très larges, augmentez --lgmq-logo-width.
Ajoutez à votre feuille .lgmq-logo img { filter: grayscale(1); opacity: .7 } et .lgmq-logo:hover img { filter: none; opacity: 1 } : la case s'éclaire déjà au survol, le logo suit.
Elle saute une fois : la liste s'élargit, le script recalcule le décalage et la durée, la vitesse reste la même mais la position change d'un coup (mesuré dans Chromium et Firefox après quelques tours). Pour l'éviter, donnez width et height à vos <img> : la liste a sa largeur définitive dès le départ.