
Lo sfondo di fili come un tessuto
Sfondi, Hover
NuovaGratis
Uno sfondo animato da mettere dietro a un titolo o a una sezione: le curve di livello di un paesaggio inventato, su un fondo quasi nero, che scorrono lente e in un giro tornano uguali. Due toni di grigio, la sola quota più alta nell'accento; sotto il titolo il terreno si spiana in un altopiano e il puntatore alza una collina con le sue curve intorno. 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>Altura</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>
<!-- the background: contour lines of an invented landscape on a canvas behind the page; the land drifts slowly and
under the title it flattens into a plateau, so no line ever crosses the words -->
<main class="pagina" data-pagina>
<canvas class="fondo" aria-hidden="true" data-fondo></canvas>
<header class="testa">
<p class="marchio">Altura</p>
<p class="testa__nota">Mountain lodge</p>
</header>
<section class="eroe">
<div class="blocco" data-blocco>
<p class="occhiello" data-entra>Twelve rooms above the tree line</p>
<h1 class="titolo" data-titolo aria-label="Above the weather.">Above the weather.</h1>
<div class="azione" data-entra>
<a class="pillola" href="#">
<span class="pillola__scritta" data-testo="Book a room">Book a room</span>
<svg class="pillola__freccia" viewBox="0 0 16 16" aria-hidden="true"><path d="M2.5 8h10.5M9 3.8 13.2 8 9 12.2" /></svg>
</a>
</div>
</div>
</section>
</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.
21 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 «Lo sfondo a curve di livello» da Animorio e adattala al mio sitoUna griglia di punti ogni 8 px (6 sul telefono) copre la pagina; in ogni punto l'altezza è 0,68 · rumore(p/SCALA + a) + 0,32 · rumore(2,3·p/SCALA + b), un rumore di Perlin 2D scritto nello script con un seme fisso. a e b girano su due cerchi (di raggio DERIVA, il secondo al doppio della velocità e al contrario) seguendo la fase di una timeline GSAP in ripetizione lunga GIRO secondi: il paesaggio cambia forma e a ogni giro torna identico.
Per ogni cella della griglia si prendono le altezze dei quattro angoli e solo le quote comprese fra la più bassa e la più alta (QUOTA è il passo fra una quota e l'altra). Per ogni quota i quattro angoli danno un numero da 0 a 15, e una tabella dice quali lati della cella la curva attraversa; il punto esatto su ogni lato si trova per interpolazione. I segmenti vanno in tre Path2D, curve fini, maestre (una ogni MAESTRA) e la quota più alta, e ognuno si disegna con un solo stroke.
Si misura il blocco del titolo e intorno si calcola una distanza da un ovale un poco squadrato (una superellisse). Dentro, l'altezza si porta dolcemente, con una piuma di ALTOPIANO pixel, a metà fra due quote: lì il terreno è piano e nessuna curva lo attraversa, e le curve di fuori lo girano intorno come intorno a un lago.
Il puntatore aggiunge al terreno COLLINA · e^(−d²/2·LARGA²): una collina più ripida del paesaggio, quindi intorno si chiudono anelli concentrici e in cima la quota più alta, nell'accento. Il centro della collina segue il puntatore su una molla, la sua altezza su un'altra, e quando il puntatore esce dalla pagina la collina si abbassa e sparisce.
Una timeline porta l'ampiezza del terreno da 0 a 1 con back.out: le curve nascono sulle cime e si allargano. Le lettere del titolo, ognuna in due span (GSAP muove quello fuori), salgono con back.out mentre font-stretch passa da 125% a 100% e il peso da 300 a 640. Un IntersectionObserver e visibilitychange fermano il ticker e il giro quando la pagina non si vede.
| Nome | File | Di partenza | Cosa cambia |
|---|---|---|---|
GIRO | script.js | 26 | In quanti secondi il paesaggio fa un giro intero e torna uguale. |
SCALA | script.js | 380 | La grandezza delle colline, in px: più grande, colline più larghe e meno curve. |
DERIVA | script.js | 0.45 | Quanta strada fa il paesaggio in un giro: più alto, cambia di più. |
QUOTA | script.js | 0.07 | La distanza fra una curva e l'altra: più piccola, più curve. |
MAESTRA | script.js | 5 | Ogni quante curve ce n'è una maestra, più chiara. |
COLLINA | script.js | 0.6 | Quanto alza il terreno il puntatore (0 niente collina). |
LARGA | script.js | 95 | Quanto è larga la collina del puntatore, in px. |
ALTOPIANO | script.js | 70 | Quanti px di terreno piano restano intorno al titolo. |
SPESSORE | script.js | 1 | Lo spessore delle curve, in px (le maestre e la più alta un poco di più). |
Come fondo della prima schermata di un rifugio, di un hotel di montagna o di una casa vacanza in collina, di un marchio di abbigliamento da escursione, di una gara di corsa in montagna o di un'app di sentieri; in generale dietro a un titolo corto quando si vuole una pagina scura e viva che parli di luoghi. I due grigi e l'arancio si cambiano nel CSS.
Le stesse animazioni a misure adattate: la griglia è più fitta (un punto ogni 6 px) così le curve restano morbide, il titolo è più piccolo e l'altopiano lo segue. Il dito alza la collina mentre tocca e trascina.
Il paesaggio è fermo, già salito, con l'altopiano sotto il titolo: niente deriva, niente collina del puntatore. Il titolo, la riga piccola e la pillola compaiono in dissolvenza.
GSAP 3.15.0, Archivo (font variabile) 5.3.0.
Compressi con gzip, i tre file della demo pesano 6,4 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.