0Pricing
CSS Academy · Lezione

Prestazioni: proprietà trasformabili e soggette a repaint

Impari quali proprietà sono accelerate dalla GPU e quali attivano costosi repaint del layout.

Prestazioni: proprietà trasformabili e soggette a repaint è una lezione CSS Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento CSS Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CSS Academy include 4 lezioni in totale.

La pipeline di rendering

I browser eseguono il rendering in tre fasi: Layout (dimensioni e posizione) → Paint (pixel) → Composite (unione dei livelli GPU). Animare proprietà che attivano le fasi precedenti è costoso.

Proprietà che attivano il layout

Modificare queste proprietà obbliga il browser a ricalcolare il layout, potenzialmente per l'intera pagina. Eviti di animarle:

  • width, height
  • margin, padding
  • top, left
  • font-size
  • display

Proprietà che attivano il paint

Queste proprietà evitano il layout, ma ridisegnano i pixel. Hanno un costo moderato:

  • background-color
  • color
  • box-shadow
  • border

Proprietà che attivano solo il compositing

Queste proprietà evitano sia il layout sia il paint: il browser deve solo eseguire il compositing dei livelli prerasterizzati. Sono molto economiche e accelerate dalla GPU:

  • transform
  • opacity

La regola d'oro delle animazioni CSS

Per animazioni fluide a 60 fps, animi solo transform e opacity. Utilizzi transform: translate() invece di top/left e opacity invece di dissolvenze ottenute con display.

  <div class="box demo-active">Box</div>

Proprietà will-change

will-change indica al browser di promuovere un elemento al proprio livello GPU prima dell'inizio dell'animazione, evitando un "lampeggio di promozione" durante l'animazione.

  <div class="animated">Animated</div>

will-change: auto

Imposti will-change: auto oppure rimuova completamente la proprietà al termine delle animazioni. Mantenere troppi elementi promossi spreca memoria GPU.

Misurare con DevTools

Utilizzi la scheda Performance di Chrome DevTools per registrare e analizzare i tempi dei frame. La scheda Rendering può attivare il lampeggiamento del paint (una sovrapposizione verde) per mostrare quali elementi vengono ridisegnati a ogni frame.

transform invece di top/left

L'ottimizzazione più efficace consiste nel sostituire le animazioni posizionali con transform:

  <div class="fly demo-active">Fly</div>

Costo delle transizioni di colore

Le transizioni del colore di sfondo attivano il repaint, ma non il layout. Sono accettabili per gli elementi piccoli. Per gli sfondi di grandi dimensioni, valuti l'utilizzo di uno pseudo-elemento con una transizione di opacity:

  <button class="btn demo-active">Hover me</button>

Proprietà contain

La proprietà contain indica al browser che un elemento e il relativo sottoalbero sono indipendenti. In questo modo limita l'ambito dell'invalidazione del layout e migliora le prestazioni del repaint.

  <div class="widget">Widget</div>

Verifica rapida

Quali due proprietà CSS possono essere animate nella fase di compositing senza attivare il layout o il paint?

Riepilogo

Animare le proprietà del layout (width, top, margin) attiva ricalcoli costosi. Le proprietà del paint (color, background) sono più economiche. Solo transform e opacity vengono animate nella fase di compositing della GPU senza attivare il layout o il paint. Preferisca sempre queste proprietà per ottenere animazioni fluide e performanti.

Domande Frequenti

La lezione «Prestazioni: proprietà trasformabili e soggette a repaint» è gratuita?

Sì — il testo completo di «Prestazioni: proprietà trasformabili e soggette a repaint» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso CSS Academy, passa a CoddyKit PRO. Il corso CSS Academy include 4 lezioni in totale.

Cosa imparerò in «Prestazioni: proprietà trasformabili e soggette a repaint»?

Impari quali proprietà sono accelerate dalla GPU e quali attivano costosi repaint del layout. Eserciti CSS Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare CSS Academy?

Non è richiesta alcuna esperienza precedente. CSS Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Prestazioni: proprietà trasformabili e soggette a repaint»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione CSS Academy?

Sì. Ogni lezione CSS Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Durata e temporizzazione della proprietà transition
  2. Funzioni di easing: ease, linear, cubic-bezier
  3. Transizioni di più proprietà
  4. Prestazioni: proprietà trasformabili e soggette a repaint
← Torna a CSS Academy