
Nastro che accelera con lo scorrimento
Scroll, Testo, Hover
Gratis
Cinque voci di menu sparse sulla pagina, ognuna sulla sua guida sottile, chi a sinistra, chi al centro, chi a destra. Una guida vermiglia segue il puntatore: la voce sotto di lei e le vicine corrono ad allinearsi, una dopo l'altra, ognuna su una sua molla, e prendono peso; oltre la metà della pagina passano dall'altra parte della guida. Uscendo, tornano ai loro posti. Stile minimal.
Una cartella che funziona da sola: index.html, style.css, script.js e le librerie da CDN. Nelle schede React e Vue la stessa demo è già un componente, che spegne le sue animazioni quando esce dalla pagina.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Menu on the guide</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/archivo@5.3.0/wdth.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="stage" data-stage>
<header class="top">
<span class="top__name">Datum</span>
<span class="top__note">Menu</span>
</header>
<!-- five entries, each resting on its own faint guide (flush left, centred or flush right). A thin guide follows the
pointer: the entry under it and the ones next to it run to line up on it, and take weight -->
<nav class="menu" aria-label="Main" data-menu>
<div class="guide" aria-hidden="true" data-guide>
<span class="guide__line"></span>
<span class="guide__readout" data-readout>0</span>
</div>
</nav>
<p class="hint">Point at the menu</p>
</main>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/gsap.min.js"></script>
<script src="script.js"></script>
</body>
</html>Cambia valori, colori e testi con le manopole e guarda l’animazione rispondere dal vivo. Oppure scrivi tu nel codice. Poi scarica la cartella con le tue modifiche.
34 valori da cambiare
Col connettore di Animorio, Claude Code la prende da qui con tutta la sua guida e la adatta al tuo progetto. Incolla questa richiesta:
Prendi «Il menu sulla guida» da Animorio e adattala al mio sitoOgni voce è un link assoluto dentro una riga alta quanto il suo carattere, e si sposta solo con transform: translateX dal bordo sinistro del menu. La sua guida è uno span di un pixel, messo alla sua posizione (da 0 a 1 sulla larghezza). Il posto della voce si calcola dalla guida e dal modo in cui ci sta: x = posizione per larghezza meno l'àncora (0 a sinistra, 0,5 al centro, 1 a destra) per la larghezza della parola, sempre dentro il menu.
La guida vermiglia è un div di undici pixel con una linea di un pixel disegnata dallo sfondo e una tacca per capo. Si mostra con clip-path: inset(), che si apre dal punto in cui è entrato il puntatore e si richiude verso l'ultima voce, portato da un tween di GSAP. La sua x insegue quella del puntatore su una molla rigida, GUIDE_SPRING, così resta un filo indietro.
Quando cambia la voce sotto il puntatore, ogni voce riceve il suo ordine (allineati, o torna a casa) con un ritardo di STAGGER secondi per ogni riga di distanza: per questo arrivano una dopo l'altra, e se ne vanno nello stesso modo. Poi ognuna insegue la sua meta su una molla quasi critica, ENTRY_SPRING, più morbida per le voci più lontane: muovendo la guida di lato restano indietro come una bandiera. Le molle si integrano a mano sul ticker di GSAP a passi di 1/240 di secondo.
Il peso insegue 280 a riposo, 700 sotto il puntatore e metà strada per le vicine, su una sua molla un poco elastica: quando la voce arriva, il peso va oltre e si assesta. L'asse della larghezza (wdth di Archivo) scende con la velocità della voce, di SQUEEZE al massimo: la parola che corre si stringe e posandosi si riallarga. Le larghezze si rileggono a ogni fotogramma, prima di scrivere, perché cambiano con i due assi.
Le voci si appoggiano a destra della guida finché sta sotto il sessanta per cento della larghezza, e a sinistra oltre; per tornare indietro deve scendere sotto il quaranta, così sul confine non sfarfallano. Un solo pointermove sulla finestra cerca la riga dalla fascia d'altezza del menu; fuori dalla fascia le voci tornano. Il dito tocca e trascina, e alzandolo le voci restano allineate un momento prima di tornare. Col tasto Tab la guida si mette sulla guida della voce che prende il fuoco.
| Nome | File | Di partenza | Cosa cambia |
|---|---|---|---|
ITEMS | script.js | [['Work', 0.08, 'left'], …] | Le voci: il nome, dove sta la sua guida (da 0 a 1 sulla larghezza del menu) e come ci sta (left, center, right). |
REACH | script.js | 1 | Quante voci per parte, oltre a quella sotto il puntatore, si allineano anche loro. |
STAGGER | script.js | 0.07 | I secondi fra una voce e la successiva, all'andata e al ritorno. |
ENTRY_SPRING | script.js | [260, 28] | La molla delle voci: quanto è rigida e quanto è frenata. |
GUIDE_SPRING | script.js | [420, 34] | La molla della guida dietro il puntatore: quanto è rigida e quanto è frenata. |
WEIGHT | script.js | [280, 700] | Il peso delle voci a riposo e sotto il puntatore (da 100 a 900); le vicine prendono metà. |
SQUEEZE | script.js | 16 | Quanto si stringe una voce che corre (asse della larghezza, da 0 a 38). |
GUTTER | script.js | 12 | Lo spazio fra la guida e le voci allineate, in pixel. |
Per il menu a tutta pagina di uno studio, di un fotografo o di una rivista, per l'indice di un portfolio con poche sezioni, per la pagina dei contatti con quattro o cinque strade: dove le voci sono poche, corte e grandi, e lo spazio vuoto fa parte del disegno. Con più di sette voci o con voci lunghe la pagina si riempie e l'effetto si perde.
Le stesse animazioni a misure adattate: il menu è largo quanto lo schermo e le voci più piccole. Toccando il menu la guida si apre sotto il dito e lo segue trascinando, in orizzontale e in verticale; alzando il dito le voci restano allineate un momento, poi tornano. Il suggerimento in fondo dice Touch the menu and slide.
Niente molle, niente corse e niente stretta delle lettere: la guida compare in dissolvenza e sta sotto il puntatore, le voci che si allineano ricompaiono già al loro posto sulla guida con una breve dissolvenza e prendono peso; uscendo ricompaiono in dissolvenza sulle loro guide. All'apertura tutto compare in dissolvenza già al suo posto.
GSAP 3.15.0, Archivo (font variabile) 5.3.0.
Compressi con gzip, i tre file della demo pesano 6,7 KB; le librerie: GSAP 28 KB.
Provata il 16 ottobre 2026
Puoi usarla nei tuoi progetti e in quelli dei tuoi clienti. Non puoi rivenderla né ridistribuirla così com’è. GSAP resta sotto la sua licenza Standard. Licenza completa.
Con l’email e la password del tuo account.
oppure con l’email
Hai fatto l’accesso come .
Con l’account scarichi lo zip di ogni animazione e di ogni pacchetto, gratis.