Generatore di Loader CSS
Uno spinner dice all’utente che qualcosa sta succedendo. Questo generatore crea un singolo spinner circolare in CSS: imposta diametro, spessore del bordo, colore di accento e velocità di rotazione, osserva l’anteprima dal vivo e copia il CSS. È tutto CSS puro, senza SVG, senza JavaScript e senza librerie esterne.
Come usare il generatore
-
1
Imposta la dimensione
Diametro dello spinner in pixel. Da 40 a 80 px si adatta alla maggior parte dei pulsanti e delle aree di contenuto.
-
2
Imposta lo spessore del bordo
L'anello è un bordo disegnato su un cerchio. Un bordo più spesso rende l'arco più deciso; da 4 a 8 px funziona bene a 60 px.
-
3
Scegli il colore
Il colore di accento dell'arco che ruota. Il resto dell'anello resta grigio chiaro per far risaltare l'arco.
-
4
Imposta la velocità e copia il CSS
Durata di un giro completo in secondi. Circa 1 secondo è il punto ideale più comune; sotto i 500 ms sembra frenetico, sopra i 2 s sembra lento.
Come funziona il CSS generato
.loader {
width: 60px;
height: 60px;
border: 6px solid #eee;
border-top-color: #10b981;
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
Lo spinner è un cerchio disegnato con un bordo spesso. La regola border-top-color colora solo la parte superiore dell’anello con il colore di accento, così l’anello si legge come un arco, e la regola @keyframes spin lo ruota attorno al suo centro. Ruotare con transform: rotate() mantiene l’animazione leggera, perché il browser sposta l’elemento sul compositore invece di ridisegnarlo fotogramma per fotogramma.
Per mostrarlo in una pagina, aggiungi un elemento e carica il CSS:
<div class="loader" role="status" aria-label="Caricamento"></div>
Rendilo accessibile
- Aggiungi
role="status"così gli screen reader annunciano lo spinner. - Imposta
aria-labelcon il testo di stato, ad esempio “Caricamento”. - Non nascondere contenuti dietro uno spinner per più di qualche secondo senza un fallback di timeout.
- Rispetta
prefers-reduced-motion. Per chi l’ha disattivata, sostituisci l’animazione rotante con una semplice dissolvenza o un testo statico “Caricamento…”:
@media (prefers-reduced-motion: reduce) {
.loader { animation: none; background: currentColor; opacity: .4; }
}
Quando usare uno spinner e quando un’interfaccia ottimistica
- Risposta sotto i 100 ms: nessuno spinner necessario; l’occhio umano percepisce a malapena il ritardo.
- 100 ms – 1 s: uno spinner discreto (piccolo cerchio, testo del pulsante “Caricamento…”) evita i doppi clic.
- 1 s – 10 s: uno spinner ben visibile, idealmente con avanzamento se misurabile.
- > 10 s: non è un problema di spinner; scopri cosa è lento e risolvilo.
Per gli invii di moduli e i clic sui pulsanti, uno spinner dentro il pulsante di solito è meglio di una sovrapposizione a schermo intero.
Domande frequenti
CSS per spinner semplici a elemento singolo (il trucco della rotazione a quattro bordi). SVG quando hai bisogno di una scia affusolata, animazioni multiple di stroke dasharray, o segmenti riempiti che sembrano colpi di vernice. CSS è più piccolo e semplice; SVG è più flessibile.
Probabilmente perché stai ruotando un grande elemento o animando una proprietà non compositata. Mantieni la dimensione dello spinner piccola, usa transform: rotate() (non top/margin), e evita di attivarlo mentre altre animazioni pesanti sono in esecuzione.
Quasi universalmente in senso orario. Gli spinner antiorari sembrano leggermente sbagliati perché la maggior parte dei segnali di rotazione reali (orologi, mulini a vento) vanno in senso orario. Attieniti alla convenzione a meno che tu non abbia un motivo specifico.
Con un setTimeout(..., 300) in JavaScript che aggiunge la classe loader, più un clearTimeout se l’operazione termina prima. Previene il lampeggiamento su risposte veloci senza nascondere ritardi reali.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Trova nome colore
Trova il colore CSS standard con nome più vicino a un valore HEX, RGB o HSL usando la differenza CIEDE2000.
Generatore di Palette di Colori
Genera palette monocromatiche, analoghe, complementari, triadiche o tetradiche da un colore base HEX ed esporta variabili CSS pronte da copiare.