Nello script precedente abbiamo visto come, all'interno di una pagina web, la creazione di componenti a video sia soggetta a tre differenti fasi: Reflow, Repaint, Composition. Di cui la prima, il reflow, è molto impattante in termini di tempo e risorse per essere portata a compimento.
Ci sono però alcuni accorgimenti che possiamo applicare per migliorare il tempo di applicazione degli stili, o addirittura quasi annullarlo.
Per il primo step è richiesto l'utilizzo del nostro buonsenso: evitiamo i selettori CSS complessi. La modalità di scrittura di un selettore ci permette di essere sia generici che estremamente puntuali rispetto all'elemento a cui applicare lo stile. Ma va considerato che più la regola è precisa, più il rendering della pagina richiederà tempo, dato che verranno fatte molte più verifiche.
/* non ottimizato */
html body div.container ul li button:hover {
color: red;
}
/* ottimizato */
button:hover {
color: red;
}Se l'effetto di hover su un bottone riulta troppo generico, è comunque consigliabile applicare una classe al bottone a cui applicare lo stile, rispetto al mantenere la catena di CSS.
/* ottimizato con classe*/
.btn-primary:hover {
color: red;
}Anche per questo caso dobbiamo però trovare un limite adeguato, in modo da mantenere un buon compromesso tra utilizzo specifico e modularità, dato che, anche troppe classi applicate ad un solo elemento, richiedono molto calcolo da parte del browser per capire come verrà disegnato.
<!-- non ottimizzato --> <button class="btn-red btn-hover-red btn-border-black btn-mouse-pointer btn-active-orange btn-font-weigth-bold"></button> <!-- ottimizzato con una classe che incorpora tutti gli stili --> <button class="btn-danger"></button>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Dallo sviluppo locale ad Azure con .NET Aspire
Personalizzare i parametri del CSS Scroll Snap
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Realizzare un accordion con gli elementi HTML details e summary
Integrare modelli AI in un workflow di GitHub
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Ridurre il reflow cambiando il CSS
Utilizzare noopener e noreferrer nei link HTML
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Proteggere l'endpoint dell'agente A2A delle Logic App




