Cos’è GSAP e perché tutti ne parlano nel web design moderno
Se lavori nel web design, avrai sentito parlare di GSAP (GreenSock Animation Platform).
È una delle librerie JavaScript più potenti per creare animazioni fluide, performanti e professionali.
Ma la vera magia accade quando entra in gioco ScrollTrigger, un plugin di GSAP che collega le animazioni allo scroll dell’utente.
In pratica: mentre l’utente scorre la pagina, tu puoi animare testi, immagini o sezioni intere, creando un effetto narrativo e dinamico.
Cos’è ScrollTrigger di GSAP?
Cosa fa esattamente ScrollTrigger di GSAP?
ScrollTrigger permette di attivare animazioni durante lo scroll della pagina. Puoi decidere quando un’animazione deve iniziare, quanto deve durare e come deve reagire al movimento dell’utente.
Un esempio semplice:
gsap.registerPlugin(ScrollTrigger);
gsap.to(".box", {
x: 500,
scrollTrigger: {
trigger: ".box",
start: "top 80%",
end: "bottom 20%",
scrub: true
}
});
In questo esempio, l’elemento .box
si muoverà mentre l’utente scorre, sincronizzandosi con lo scroll.
Perché usare GSAP ScrollTrigger invece delle animazioni CSS
Domanda: Non posso fare lo stesso con le animazioni CSS o con position: sticky
?
Risposta:
Puoi ottenere effetti simili, ma GSAP ScrollTrigger offre un controllo molto più preciso:
- Sincronizzazione perfetta con lo scroll (anche su mobile).
- Eventi di callback (
onEnter
,onLeave
,onUpdate
) per personalizzare ogni fase. - Supporto per timeline complesse.
- Pinning di sezioni (bloccare un elemento mentre scorri il resto della pagina).
- Performance ottimizzate con rendering GPU e
requestAnimationFrame
.
Con CSS, puoi animare singoli elementi, ma non gestire transizioni interattive o storytelling visuale.
Come iniziare a usare ScrollTrigger in GSAP (passo dopo passo)
Voglio provarlo. Come si installa e si usa ScrollTrigger?
Puoi importare GSAP direttamente da CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
Poi registri il plugin:
gsap.registerPlugin(ScrollTrigger);
Ora puoi animare qualsiasi elemento con il tuo effetto scroll dinamico.
Esempio pratico:
gsap.from(".section-title", {
y: 100,
opacity: 0,
duration: 1,
scrollTrigger: {
trigger: ".section-title",
start: "top 90%",
end: "top 60%",
scrub: true
}
});
👉 In questo modo, il titolo apparirà dolcemente mentre l’utente lo raggiunge con lo scroll.
Come creare un effetto parallax con ScrollTrigger
Posso creare un effetto parallax con GSAP ScrollTrigger?
Assolutamente sì. È uno degli effetti più richiesti nel web design moderno
gsap.to(".background", {
yPercent: -50,
ease: "none",
scrollTrigger: {
trigger: ".section",
scrub: true
}
});
L’immagine di sfondo si muoverà più lentamente rispetto al contenuto, creando una profondità visiva che cattura l’attenzione.
Consiglio UX: usa il parallax solo in sezioni mirate. Troppi effetti riducono la leggibilità e appesantiscono l’esperienza.
Cos’è il pinning e quando usarlo
Ho visto siti dove una sezione resta ferma mentre il resto scorre. Si fa con ScrollTrigger?
Sì! Si chiama pinning.
ScrollTrigger.create({
trigger: ".pinned-section",
pin: true,
start: "top top",
end: "+=500"
});
In questo modo, la sezione rimane “bloccata” per 500px di scroll, permettendo effetti di storytelling o sezioni interattive.
ScrollTrigger GSAP: esempi di uso realeDomanda:
In quali contesti ha senso usare ScrollTrigger GSAP?
Ecco alcuni esempi concreti:
- Landing page narrative: animazioni che accompagnano la storia del brand.
- Portfolio creativi: reveal di immagini o testi in sequenza.
- Siti di prodotto: animazioni sincronizzate per mostrare caratteristiche.
- Articoli interattivi: immagini che si muovono mentre scorri per mantenere l’attenzione.
👉 Ricorda: l’obiettivo non è stupire, ma guidare l’utente attraverso l’esperienza.
Come ottimizzare le performance delle animazioni
Le animazioni rallentano il sito?
Solo se usate male.
Per mantenere alte le performance con GSAP ScrollTrigger, segui queste best practice
- Usa
transform
eopacity
invece ditop
,left
owidth
. - Imposta
will-change
su elementi animati. - Usa
ease: "none"
per gli effetti collegati allo scroll continuo. - Evita troppe animazioni simultanee.
- Testa le performance con Lighthouse o Chrome DevTools.
GSAP è una delle librerie più ottimizzate in assoluto, ma serve sempre buon senso nel design.
GSAP ScrollTrigger in React o WordPress
Posso usare ScrollTrigger anche nei miei progetti React o WordPress?
Certo!
In React, basta usare useRef
e useLayoutEffect
per collegare gli elementi dopo il rendering:
import { useLayoutEffect, useRef } from "react";
import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
gsap.registerPlugin(ScrollTrigger);
export default function App() {
const boxRef = useRef(null);
useLayoutEffect(() => {
gsap.to(boxRef.current, {
x: 400,
scrollTrigger: {
trigger: boxRef.current,
scrub: true
}
});
}, []);
return <div ref={boxRef} className="box" />;
}
Su WordPress, puoi integrare GSAP e ScrollTrigger con Elementor, ACF o direttamente nel tema. Basta aggiungere gli script nel footer e selezionare le classi corrette per i tuoi elementi.
GSAP ScrollTrigger: i vantaggi per UX e SEO
Ma Google penalizza le animazioni?
No, se sono performanti e accessibili.
Anzi, animazioni ben gestite aumentano il tempo di permanenza e riducono il bounce rate — due segnali indiretti positivi per la SEO.
Ecco i benefici concreti:
- Maggiore coinvolgimento visivo.
- Migliore narrazione del contenuto.
- Esperienza più fluida e moderna.
Errori da evitare con ScrollTrigger
Quali sono gli errori più comuni quando si usa ScrollTrigger?
- Troppe animazioni simultanee: riducono la chiarezza.
- Non testare su mobile: alcuni trigger cambiano comportamento.
- Dimenticare di disattivare gli effetti su viewport piccole.
- Ignorare l’accessibilità: animazioni troppo brusche possono disturbare.
- Non gestire i refresh: quando il layout cambia, chiama sempre
ScrollTrigger.refresh()
.
Conclusione
ScrollTrigger GSAP è uno strumento potente per chi vuole portare le proprie animazioni web a un livello superiore.
Con pochi comandi puoi creare effetti scroll dinamici, parallax, pinning e storytelling visivo, mantenendo alte le performance e una UX impeccabile.
Inizia da un piccolo progetto e sperimenta.
Una volta provato ScrollTrigger, sarà difficile tornare indietro — e il tuo portfolio ne guadagnerà in impatto e professionalità.