
Gli oggetti senza peso
Fisica, 3D, Hover
NuovaGratis
Titolo animato in 3D, nello stile minimal: sotto la parola Settle un disco d'acciaio lucido gira sul suo bordo come il disco di Eulero. L'inclinazione cala piano e poi crolla, il punto di contatto gira sempre più in fretta e il disco si posa piatto con un ultimo brivido, mentre la parola trema col piano e si assesta di un pixel. Un tocco lo rimette a girare.
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>Stillpoint</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/bricolage-grotesque@5.3.0/standard.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- a steel Euler's disk spinning on its rim under a word: it wobbles faster and faster, lower and lower, until it
lies flat with a last shiver, and the word settles with it; a tap spins it again -->
<main class="pagina" data-pagina>
<header class="testa">
<p class="marchio" data-entra>Stillpoint</p>
<p class="testa__nota" data-entra>Desk objects in steel</p>
</header>
<h1 class="parola" data-parola aria-label="Settle">Settle</h1>
<div class="scena" data-scena aria-hidden="true">
<div class="piano" data-piano>
<div class="ombra" data-ombra></div>
<div class="contatto" data-contatto></div>
<div class="disco" data-disco></div>
</div>
</div>
<footer class="piede">
<p class="nota" data-entra data-nota>Tap to spin it again</p>
<p class="misura" data-entra><span data-tilt>Tilt 0.0°</span><span class="misura__sep"></span><span data-stato>at rest</span></p>
</footer>
</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.
23 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 disco di Eulero che si posa sotto la parola» da Animorio e adattala al mio sitoIl disco è CSS 3D: dodici cerchi impilati a pochi decimi di pixel l'uno dall'altro fanno lo spessore, il primo e l'ultimo sono le due facce d'acciaio. Il piano è un div steso indietro di 48 gradi con rotateX, e dentro di lui, con transform-style: preserve-3d, il disco è posato con translateZ, rotateZ(φ), rotateX(θ) e rotateZ(ψ): dove sta il punto di contatto, quanto è inclinato, quanto ha girato su sé stesso. Alzarlo di R · sin θ tiene il bordo più basso sempre sul piano.
L'inclinazione va come la radice cubica del tempo che resta, θ = TILT · ∛(1 − t / DURATION): cala piano e crolla alla fine, come nel disco vero. La precessione cresce come 1 / √sin θ, con un tetto di 5,2 giri al secondo perché a 60 fotogrammi oltre si vedrebbe girare al contrario. Rotolando senza strisciare, il disco su sé stesso gira di ω · (1 − cos θ): quasi niente quando è basso, ed è per questo che il segno inciso si ferma mentre il contatto corre.
Sotto mezzo grado il disco passa alla posa: per mezzo secondo l'inclinazione è |sin(55 t)| per una caduta esponenziale, e batte sul piano sempre più piano. La parola ha un padre e un figlio per lettera: il figlio trema in fase col contatto, con un'ampiezza che cresce con la precessione, il padre fa l'assestamento finale, un pixel giù e su con back.out, una lettera ogni 35 millesimi.
Ogni fotogramma si calcola la normale del disco, (sin θ sin φ, −sin θ cos φ, cos θ), e il suo prodotto con la direzione della lampada: diventa un brightness() sulla faccia. Il riflesso è un gradiente conico che gira al contrario del disco, così resta fermo rispetto alla luce, e l'acciaio spazzolato in cerchi è un gradiente radiale che si ripete.
| Nome | File | Di partenza | Cosa cambia |
|---|---|---|---|
WORD | script.js | Settle | La parola sopra il disco. |
TILT | script.js | 26 | L'inclinazione da cui parte il disco, in gradi. |
DURATION | script.js | 7.5 | In quanti secondi il disco si posa. |
SPIN | script.js | 1 | Quanto gira veloce all'inizio. |
SIZE | script.js | 1 | La misura del disco. |
SHAKE | script.js | 1 | Quanto trema la parola mentre il disco gira. |
PAUSE | script.js | 2.4 | Quanti secondi resta fermo prima di ripartire da solo. |
LEAN | script.js | 1 | Quanto il piano si inclina verso il puntatore. |
Come titolo d'apertura di un negozio di oggetti di design, di uno studio di prodotto o di un marchio di orologi e accessori in metallo; dietro a una parola che parla di calma, di equilibrio o di attenzione, per una app di meditazione o un ritiro; come pagina di presentazione di un oggetto solo, dove il movimento racconta la qualità del materiale.
La stessa animazione: il disco e la parola si misurano sulla larghezza e sull'altezza, quindi stanno nella casella anche su un telefono piccolo. Il tocco rilancia il disco; il piano non si inclina, perché senza puntatore non c'è dove guardare.
Il disco è già posato, fermo e piatto, la parola è al suo posto e lo stato dice at rest: niente rotazione, niente tremito. Le scritte e il disco compaiono in dissolvenza.
GSAP 3.15.0, Bricolage Grotesque (font variabile) 5.3.0.
Compressi con gzip, i tre file della demo pesano 6,4 KB; le librerie: GSAP 28 KB.
Provata il 24 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.