Vai al contenuto
animorio
EN
Torna alla libreria

Il marchio a fisarmonica

La sigla «Q.» si apre come una fisarmonica nella parola intera: lo spazio si allarga spingendo il punto, e le lettere di mezzo salgono da sotto la linea in ordine sparso.

Testo, HoverGSAPMediaGratis

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>Il marchio a fisarmonica</title>
  <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>
  <header class="testa">
    <!-- il marchio piccolo della testata: la sigla si apre nella parola intera -->
    <button class="marchio marchio--piccolo" type="button" data-marchio="Quasi.">Quasi.</button>
    <p class="testa__nota">Studio di grafica</p>
  </header>

  <main class="eroe">
    <!-- lo stesso marchio alla misura di un titolo -->
    <button class="marchio marchio--grande" type="button" data-marchio="Quasi." data-autoclic>Quasi.</button>
    <p class="eroe__nota">Passa sopra il marchio, o toccalo.</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>

Cosa fa

A riposo il marchio è solo la sigla, la prima lettera e il punto. Passandoci sopra lo spazio fra le due si allarga fino alla parola intera e spinge il punto a destra; intanto le lettere di mezzo salgono da sotto la linea, ognuna nella sua maschera, in un ordine diverso ogni volta. Uscendo le lettere ricadono, sempre in disordine, e lo spazio si richiude. Se cambi idea a metà, il gesto riparte da dove è arrivato.

Come funziona

Tre pezzi

Lo script divide la parola in sigla, lettere di mezzo e punto. Le lettere di mezzo stanno in un contenitore flex con overflow: clip, largo zero a riposo: il punto è subito dopo la sigla, e segue da solo lo spazio che si allarga.

Lo spazio

La larghezza del contenitore va da zero alla somma delle maschere delle lettere in 0,7 secondi, con power4.inOut. Alla fine torna ad «auto», così se la finestra cambia misura la parola aperta si adatta; prima di chiudere si rimette in pixel per poterla animare.

Le lettere

Ogni lettera sta in una maschera che taglia solo in verticale e sale da yPercent 110 a 0 in 0,6 secondi, 60 millesimi dopo l’altra, a partire da 0,35 secondi. L’ordine è rimescolato ogni volta con gsap.utils.shuffle: il marchio non si apre mai due volte uguale.

Le interruzioni

Ogni gesto uccide la sequenza in corso e ne costruisce una nuova da dove si trova: se lo spazio è già aperto salgono solo le lettere, senza aspettare; se una lettera è già su, non riparte. Col mouse comanda il passaggio, col dito e con la tastiera il clic.

Valori da cambiare

NomeFileDi partenzaCosa cambia
APREscript.js0.7Secondi perché lo spazio si allarghi o si richiuda.
SALEscript.js0.6Secondi di ogni lettera che sale o ricade.
SFASA_SUscript.js0.06Secondi fra una lettera e l’altra quando salgono (quando ricadono è SFASA_GIU, 0.08).
RITARDOscript.js0.35Dopo quanti secondi di apertura partono le lettere.

Quando usarla

Per il marchio in testata di un sito che ha una sigla forte: a riposo occupa poco, al passaggio si presenta per intero. Funziona anche grande, come titolo della prima schermata.

Sul telefono

Senza passaggio del mouse il marchio si apre e si chiude al tocco. La prima volta che si vede si apre da solo e dopo un paio di secondi si richiude, per mostrare che c’è.

Con il movimento ridotto

Niente lettere che salgono e niente fisarmonica: la parola compare e scompare con una dissolvenza di due decimi di secondo, e non si apre da sola.

Trappole

  • Con la spaziatura stretta il fianco di una lettera esce dalla sua scatola: la maschera deve tagliare solo in verticale (overflow-x: visible, overflow-y: clip), o le lettere perdono il bordo destro.
  • Misura la parola aperta sommando le maschere, non con scrollWidth del contenitore chiuso: con overflow: clip non è un’area di scorrimento e la misura non è affidabile.
  • Le lettere dentro un contenitore flex largo zero si stringerebbero: flex: none.
  • Col mouse il clic non deve rifare il gesto già fatto dal passaggio: si guarda il tipo dell’ultimo pointerdown.

Librerie

GSAP 3.15.0, Mona Sans (font variabile) 5.3.0.

Peso: 8,2 KB dei nostri file.

Collaudo

Provata il 27 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