Marquee infinito e trascinabile in Webflow (no code)

Intermedio 12:45 webflowmarqueesplidecmsaccessibilità

Crea un marquee infinito e trascinabile in Webflow senza codice — solo attributi per direzione, velocità per breakpoint, pausa fluida al passaggio del mouse, CMS e accessibilità.

Punti chiave

  • Dal tuo lato è completamente no-code: tutto si configura con attributi su un solo elemento, quindi non tocchi mai il JavaScript che fa muovere il marquee.
  • La velocità è un unico numero che porta con sé la direzione — positivo scorre da sinistra a destra, negativo da destra a sinistra — misurato in pixel per frame, e puoi sovrascriverlo per breakpoint per una vera responsività.
  • Ogni attributo ha un default sensato, così un marquee funziona nel momento in cui lo inserisci; aggiungi attributi solo per cambiare il comportamento che ti interessa davvero.
  • La slide attiva si stila da sola: Splide aggiunge la classe is-active alla slide centrata per te, quindi stili is-active nello style guide invece di taggare le slide a mano nella pagina.
  • L'accessibilità è un'etichetta, non un ripensamento — punta aria-labelledby all'id di un titolo visibile, oppure aggiungi un aria-label quando non c'è un titolo da riutilizzare.

Capitoli del video

  1. 00:00 Intro
  2. 01:48 Primo esempio: slide statiche
  3. 08:41 Secondo esempio: slide da CMS
  4. 10:40 Accessibilità
  5. 11:30 Codice custom e documentazione
  6. 12:07 Outro

Crea in Webflow un marquee infinito che scorre all’infinito, rallenta in modo fluido quando qualcuno ci passa sopra col mouse e permette persino ai visitatori di trascinarlo a destra e sinistra — tutto senza scrivere una singola riga di JavaScript. Questa è la versione ricostruita di una delle mie soluzioni più popolari, rimodellata da anni di feedback della community in qualcosa di più potente e più personalizzabile.

Tutto è guidato da attributi su un solo elemento, quindi dal tuo lato resta completamente no-code. Hai il controllo della direzione, la velocità per breakpoint, la pausa al passaggio del mouse opzionale, il drag opzionale, lo styling custom della slide attiva e il pieno supporto sia per slide statiche sia per il CMS di Webflow. E dato che ogni opzione arriva con un default sensato, un marquee funziona nel momento in cui lo inserisci — aggiungi attributi solo per cambiare ciò che ti interessa.

Come funziona

È un marquee Splide, configurato interamente con attributi. Sotto il cofano il componente usa la libreria carousel Splide, ma tu non la chiami mai direttamente — uno script nella sezione before-</body> della pagina legge i tuoi attributi custom e collega tutto. Questo significa che l’intera configurazione vive nel pannello impostazioni di Webflow, e nessuno degli attributi è strettamente obbligatorio: i default sensati intervengono ovunque ne lasci fuori uno.

Alcuni nomi di classe sono obbligatori. Splide cerca classi specifiche per agganciarsi: splide sul content wrapper (la radice del marquee), splide__track sul track, splide__list sulla lista e splide__slide su ogni slide. Costruire la lista come una vera unordered list (ul con elementi li) invece di semplici div mantiene il markup semantico e accessibile. La sezione intorno riceve overflow: hidden così un marquee più largo del viewport non innesca mai lo scroll orizzontale, e la lista riceve will-change: transform per mantenere l’animazione fluida.

La velocità è un numero che porta con sé la direzione. L’attributo FC-marquee-speed è misurato in pixel per frame; un valore positivo scorre da sinistra a destra, uno negativo da destra a sinistra, e il default è 1. Per una vera responsività puoi sovrascriverlo per breakpoint con FC-marquee-<breakpoint>-speed (per esempio FC-marquee-landscape-speed), lasciando sulla velocità base i breakpoint che non imposti. Il drag e la pausa al passaggio del mouse sono entrambi attivi di default — imposta FC-marquee-enable-drag o FC-marquee-enable-pause a false per disattivare l’uno o l’altro.

La slide attiva si stila da sola. Splide aggiunge una classe is-active a qualunque slide sia centrata, così non tagghi mai nulla a mano. Copia il tuo elemento slide nello style guide, aggiungi la combo class is-active e stila quello stato — riporta l’opacity al massimo, togli il grayscale, scalala leggermente e imposta position: relative con uno z-index così sta sopra le vicine quando si sovrappongono. Un tranello di layout: distanzia le slide con padding orizzontale, non con il gap di flex, perché il gap può causare glitch nell’animazione di scorrimento.

Il CMS rimappa solo le classi, e l’accessibilità ha bisogno di un’etichetta. Passare a un marquee alimentato dal CMS cambia quasi nulla a livello di struttura: metti splide__track sul list wrapper, splide__list sulla Collection List e splide__slide su ogni Collection Item, poi imposta gli stessi attributi. Infine, una regione che scorre ha bisogno di un nome accessibile — se hai un titolo visibile, aggiungi aria-labelledby all’elemento splide puntando all’id del titolo; se non c’è un titolo visibile (come nell’esempio CMS), aggiungi invece un aria-label che descrive il marquee.

Come si usa

  1. Clona il progetto. Prendi il progetto clonabile in Webflow — include la struttura completa, lo styling e lo script commentato. Una guida di riferimento con tutti gli attributi sta in fondo alla pagina clonata.

  2. Costruisci la struttura. Dai alla sezione intorno overflow: hidden. Dentro, aggiungi il tuo content wrapper con la classe splide, un div splide__track, una unordered list splide__list e i tuoi elementi splide__slide. Togli i bullet della lista, impostala a flex, azzera margini e padding e aggiungi will-change: transform.

  3. Stila le slide e lo stato attivo. Distanzia le slide con padding orizzontale (non con il gap), e imposta i flex child a non crescere né restringersi. Nello style guide, aggiungi la combo class is-active a una copia della slide e stila l’aspetto attivo — opacity piena, niente grayscale, un leggero scale-up, position: relative e uno z-index.

  4. Configura con gli attributi. Sull’elemento splide, imposta FC-marquee-speed per direzione e velocità, aggiungi FC-marquee-<breakpoint>-speed per ogni breakpoint che vuoi far girare in modo diverso, e imposta FC-marquee-enable-drag o FC-marquee-enable-pause a false se vuoi disattivare il drag o la pausa al passaggio del mouse. Salta uno qualsiasi di questi per accettare i default.

  5. Etichettalo per l’accessibilità. Aggiungi aria-labelledby all’elemento splide con l’id di un titolo visibile, oppure un aria-label se non c’è un titolo da riutilizzare.

  6. Passa al CMS se ti serve. Ricostruisci la stessa struttura con una Collection List: splide__track sul list wrapper, splide__list sulla Collection List, splide__slide su ogni Collection Item — poi imposta gli stessi attributi.

  7. Pubblica e prova. Controlla la pagina live: il marquee dovrebbe scorrere in modo fluido, rallentare al passaggio del mouse (se non disattivato), rispondere al drag, ristilare la slide attiva e cambiare velocità tra i breakpoint.

Guida alla configurazione

Attributo Valori Default Cosa fa
FC-marquee-speed pixel per frame (positivo = da sinistra a destra, negativo = da destra a sinistra) 1 Imposta quanto veloce e in che direzione scorre il marquee. Un numero positivo lo muove da sinistra a destra, uno negativo da destra a sinistra.
FC-marquee-<breakpoint>-speed pixel per frame velocità base Sovrascrive la velocità su un singolo breakpoint (per esempio FC-marquee-landscape-speed). I breakpoint che lasci intatti mantengono la velocità base.
FC-marquee-enable-drag true · false true Attiva o disattiva il trascinamento del marquee col click.
FC-marquee-enable-pause true · false true Attiva o disattiva il rallentamento fluido al passaggio del mouse.

Risorse

Domande frequenti

Come costruisco un marquee infinito in Webflow senza codice?
Clona un componente marquee basato su Splide, struttura le slide con le classi Splide richieste, poi configura direzione, velocità, drag e pausa con attributi custom. Lo script incluso gestisce l'animazione, quindi non scrivi mai JavaScript.
Un marquee che scorre può mettersi in pausa quando ci passi sopra col mouse?
Sì. La pausa al passaggio del mouse è attiva di default e rallenta il marquee in modo fluido finché il cursore ci sta sopra, poi lo fa riprendere velocità quando esci. Imposta l'attributo enable-pause a false se preferisci che non rallenti mai.
Come cambio direzione e velocità di un marquee in Webflow?
Un solo attributo controlla entrambe. Un valore di velocità positivo scorre da sinistra a destra, uno negativo da destra a sinistra, e il numero stesso è in pixel per frame (il default è 1). Puoi anche impostare un valore diverso per ogni breakpoint per una piena responsività.
Questo marquee infinito funziona con il CMS di Webflow?
Sì. Mantieni la stessa struttura Splide, ma metti la classe track sul list wrapper, la classe list sulla Collection List e la classe slide su ogni Collection Item. Gli attributi di configurazione si comportano esattamente allo stesso modo.
Come rendo accessibile un marquee che scorre?
Dagli un nome accessibile. Se hai un titolo visibile, aggiungi aria-labelledby al marquee con l'id del titolo; se non c'è un titolo visibile, aggiungi invece un aria-label che descrive il marquee.

← Torna al corso

Fa parte anche di questi corsi