
Certificati che si impilano
Hover, Immagini
NuovaGratis
Nello stile minimal: un’immagine fatta solo di righe orizzontali nere, come un’incisione da banconota, che si gonfiano dove è scuro. Le righe si incidono sottili da sinistra a destra, poi un’onda scende e ognuna prende peso, e compare una pera; poi la montagna, poi la luna, una riga alla volta. Il puntatore apre le righe come una lente.
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>The picture engraved in lines</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/fraunces@5.3.0/full.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="stage" data-stage>
<header class="top">
<p class="mark">Burin</p>
<p class="note">Line engravings</p>
</header>
<!-- the plate: a picture made only of horizontal lines that swell where it is dark. The lines are cut, then
take their weight; one picture flows into the next line by line. The pointer parts the lines like a lens -->
<figure class="plate" data-plate role="img">
<canvas class="lines" data-lines aria-hidden="true"></canvas>
<figcaption class="cap" aria-live="polite">
<span class="cap__title" data-title></span>
<span class="cap__meta" data-meta></span>
</figcaption>
</figure>
</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.
18 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 «L’immagine incisa a righe» da Animorio e adattala al mio sitoOgni immagine è disegnata dallo script su una canvas nascosta, in grigi, e letta una volta con getImageData: per ogni pixel quanto è scuro, da 0 (carta) a 1 (inchiostro). Poi per ogni riga e per 180 punti lungo la riga si fa la media della striscia che le spetta, così niente cade fra due righe.
Ogni riga è un poligono pieno: il bordo di sopra e quello di sotto distano 0,55 pixel dove l’immagine è chiara e fino a THICK dello spazio fra due righe dove è scura. È disegnata a ogni fotogramma sulla canvas visibile, dal ticker di GSAP.
Ogni riga sa da quale immagine viene e verso quale va, e ha un numero p da 0 a 1. Una timeline lo porta a 1 con elastic.out, una riga dopo l’altra dall’alto in SWEEP secondi: lo spessore passa oltre quello giusto e torna. All’inizio le righe vengono «dal bianco» e un primo giro le incide (la loro lunghezza va da 0 a 1, da sinistra).
Il puntatore segue con quickTo, e una forza che sale con una molla (elastic.out) sposta ogni punto delle righe di dy/σ × e^(−d²/2σ²), con σ = LENS: le righe sopra salgono, quelle sotto scendono, in modo continuo, e si apre una lente vuota. La riga più vicina al puntatore si disegna nell’accento.
Il titolo è in Fraunces, un serif variabile: il peso sta in una variabile CSS letta da font-variation-settings. Quando cambia l’immagine va a 100 e svanisce, cambia testo e torna a 560 con elastic.out mentre l’onda scende.
| Nome | File | Di partenza | Cosa cambia |
|---|---|---|---|
PICTURES | script.js | 3 immagini | Le immagini disegnate dallo script, una dopo l’altra: il titolo e la riga piccola. |
LINES | script.js | 74 | Quante righe fanno la lastra (sul telefono un po’ meno). |
THICK | script.js | 0.9 | La riga più grossa, come parte dello spazio fra due righe. |
SWEEP | script.js | 1.1 | I secondi che l’onda impiega a scendere lungo la lastra. |
HOLD | script.js | 2.6 | I secondi che un’immagine resta prima della successiva. |
LENS | script.js | 64 | La grandezza della lente che apre il puntatore, in pixel. |
PART | script.js | 2.2 | Quanto la lente allontana le righe, in spazi fra le righe (0 = niente lente). |
Per chi vende o mostra stampe, incisioni e illustrazioni: la vetrina di un laboratorio d’arte, la pagina di una mostra, l’apertura del portfolio di un illustratore, una galleria che vuole un tono da carta stampata. Anche la pagina di un prodotto di carta, di una banca o di una zecca.
La stessa animazione con le misure adattate: la lastra è larga quasi quanto lo schermo e ha meno righe, un po’ più fitte di spessore. La lente si apre sotto il dito.
Niente si incide né si gonfia e non c’è lente: l’immagine è già incisa, e una lascia il posto all’altra con una dissolvenza.
GSAP 3.15.0, Fraunces (font variabile) 5.3.0.
Compressi con gzip, i tre file della demo pesano 7,0 KB; le librerie: GSAP 28 KB.
Provata il 19 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.