Vai al contenuto
animorio
EN
Torna alla libreria

Lettere in piedi con l'ombra lunga

Una parola ritta sulla linea di terra che proietta la sua ombra in prospettiva. Il sole la gira col mouse e la allunga scorrendo.

Testo, Scroll, 3DGSAPMediaGratis

Scorri dentro l’anteprima

Il codice

Una cartella che funziona da sola: index.html, style.css, script.js e le librerie da CDN.

<!doctype html>
<html lang="it">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Lettere in piedi con l'ombra lunga</title>
  <!-- Mona Sans ha l'asse della larghezza (wdth 75-125): serve per allargare le lettere.
       In produzione scarica il font e servilo dal tuo dominio. -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/mona-sans@5.3.0/standard.css">
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <main class="corsa">
    <div class="palco">
      <div class="cielo" aria-hidden="true"></div>
      <div class="sole" aria-hidden="true"></div>
      <div class="terra" aria-hidden="true"></div>

      <!-- l'ombra: la stessa parola, capovolta, su un piano ruotato in 3D attorno alla linea di terra -->
      <div class="piano-vista" aria-hidden="true">
        <div class="piano">
          <p class="parola parola--ombra"><span class="parola__testo">Piazza</span></p>
        </div>
      </div>

      <h1 class="parola parola--luce"><span class="parola__testo">Piazza</span></h1>
    </div>
  </main>

  <script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/gsap.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/ScrollTrigger.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/SplitText.min.js"></script>
  <script src="script.js"></script>
</body>
</html>

Cosa fa

La parola sta in piedi su un piano e proietta un'ombra lunga verso chi guarda. L'ombra gira con il sole: il mouse sposta il sole di qualche grado, lo scorrimento lo porta verso sera, le ombre si allungano e le lettere si allargano sull'asse della larghezza del font.

Come funziona

Due copie della parola

La parola visibile e la sua ombra sono due elementi con lo stesso testo. L'ombra vive dentro un piano (.piano) ruotato di 72 gradi attorno alla linea di terra, dentro un contenitore con la prospettiva.

La linea di base

Un elemento in linea alto zero (.base-misura) messo in fondo al testo dice dove cade la linea di base. La parola viene spostata finché la sua base coincide con la linea di terra, e l'ombra parte esattamente da lì.

Il sole diventa una trasformazione

Dall'altezza del sole si ricava quanto è lunga l'ombra (1 / tan(el)), dalla direzione quanto pende (atan(tan(az)). Il risultato è skewX(pendenza) scaleY(-lunghezza) sull'ombra.

Scorrimento e mouse

Un tween legato allo scorrimento porta un valore da 0 a 1: da lì escono l'altezza del sole, la direzione, i colori del cielo e la larghezza delle lettere. Il mouse aggiunge qualche grado con gsap.quickTo.

Un solo aggiornamento per fotogramma

Tutti i cambi segnano la scena come sporca; una funzione sul ticker di GSAP la ridisegna una volta per fotogramma.

Valori da cambiare

NomeFileDi partenzaCosa cambia
LARGHEZZAscript.js0.84Quanta parte della larghezza dello schermo occupa la parola.
BASEscript.js0.72Dove cade la linea di terra, in frazione dell'altezza.
MATTINO / SERAscript.js38° / 8°Altezza e direzione del sole all'inizio e alla fine dello scorrimento. Sotto i 10 gradi le ombre diventano lunghissime.
WDTHscript.js84, 122Larghezza delle lettere sull'asse wdth, all'inizio e alla fine. Serve un font variabile con l'asse della larghezza.
--ombra, --ombra-forzastyle.css#0b3b39, 0.52Colore e intensità dell'ombra. Un colore scuro della palette funziona meglio del nero.
.corsa heightstyle.css280vhQuanto si scorre per portare il sole a sera.

Quando usarla

Un nome corto e importante, in apertura o nel piede di una pagina. Non su testi lunghi: l'effetto regge una parola, al massimo due corte.

Sul telefono

Senza mouse il sole respira da solo, avanti e indietro, e si ferma quando la scena esce dallo schermo. Lo scorrimento funziona uguale.

Con il movimento ridotto

Tutto fermo: il sole resta nel pomeriggio, le lettere e l'ombra sono già al loro posto e lo scorrimento non cambia niente.

Trappole

  • Misura solo dopo document.fonts.ready: prima il font non è caricato e la linea di base è sbagliata.
  • Calcola il corpo sulla parola alla larghezza massima, altrimenti allargandosi esce dallo schermo.
  • Le lettere si alzano con scaleY: il transformOrigin di ogni lettera va messo sulla linea di base, non al centro.
  • L'ombra usa mix-blend-mode: multiply. Su uno sfondo molto scuro scegli un colore dell'ombra più chiaro o togli il blend.

Librerie

GSAP 3.15.0, ScrollTrigger 3.15.0, SplitText 3.15.0, Mona Sans (font variabile) 5.3.0.

Peso: 11 KB dei nostri file.

Collaudo

Provata il 26 settembre 2026

  • Computer: Fatto
  • Telefono: Fatto
  • Movimento ridotto: Fatto
  • Safari su iPhone: Fatto

Licenza d’uso

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.

Tutte le animazioni