Minificatore CSS
Un file CSS minificato si carica notevolmente più velocemente del suo gemello ben formattato, e la differenza si accumula ad ogni caricamento della pagina. Questo minificatore rimuove spazi bianchi e commenti e i punti e virgola finali, senza cambiare la cascata o l’effetto di alcuna regola. L’output è sempre un CSS valido che i browser interpretano in modo identico all’originale.
Come minificare il CSS
-
1
Incolla il CSS
Qualsiasi CSS, scritto a mano, compilato da Sass, blocchi di stile inline.
-
2
Minifica
Premi "Minify CSS" per rimuovere commenti, spazi bianchi e punti e virgola finali in un solo passaggio.
-
3
Controlla i risparmi
I risparmi in byte sono mostrati accanto all'output compresso.
-
4
Copia il risultato
Copia il CSS minificato nel tuo pacchetto di produzione o salvalo come `.min.css`.
Cosa fa il minificatore
Trasformazioni (non cambiano il comportamento):
- Rimuovi commenti (tutti, compresi i blocchi
/*!di licenza). - Rimuovi spazi bianchi non necessari (tra selettori, dichiarazioni, parentesi graffe).
- Rimuovi punti e virgola finali prima delle parentesi graffe di chiusura.
- Riduci le regole multi-linea a una sola linea.
È tutto quello che fa, ed è per questo che l’output si comporta esattamente come l’originale: ogni selettore, proprietà e valore resta come l’hai scritto.
Risparmi tipici
| Sorgente | Dimensione originale | Dimensione minificata | Risparmi |
|---|---|---|---|
| CSS scritto a mano ben formattato | 20 KB | 12 KB | 40% |
| Compilato da Sass, modalità sviluppo | 45 KB | 25 KB | 44% |
| Già minificato + gzip | 10 KB | 10 KB | 0% |
Oltre alla minificazione, la compressione gzip sul server aggiunge un ulteriore risparmio del 60-80% perché il CSS è altamente ridondante. I due si sommano; fai sempre entrambi.
Cosa non fa la minificazione
- Rimuovi CSS non utilizzato. Questo è territorio di tree-shaking / PurgeCSS, che richiede di analizzare il tuo HTML o i componenti.
- Accorcia i colori esadecimali, riduce le unità zero o unisce le dichiarazioni. Quelle trasformazioni aggressive sono compito di cssnano, esbuild o Lightning CSS, non di questo strumento.
- Fondi selettori duplicati in uno. Rischioso perché l’ordine sorgente influisce sulla cascata; alcuni minificatori ci provano, la maggior parte lo salta.
- Rinomina classi. Questo è CSS-in-JS o CSS Modules, non minificazione.
- Includi CSS critico inline. Questo è un passaggio separato durante la build.
Preservare i commenti di licenza
Molti minificatori preservano i commenti che iniziano con /*!, utilizzati per le intestazioni di licenza:
/*! Bootstrap v5.3 · MIT License · https://github.com/twbs/bootstrap */
Questo strumento rimuove tutti i commenti. Se il tuo CSS contiene intestazioni di licenza, aggiungile di nuovo dopo la minificazione oppure usa uno strumento di build con opzione di conservazione delle licenze, come cssnano o esbuild.
Mappe sorgente
Per il debug in produzione, gli strumenti di build generano una mappa sorgente insieme all’output minificato:
styles.min.css
styles.min.css.map
DevTools può leggere la mappa e mostrarti i numeri di riga originali ben formattati quando ispezioni un elemento. Questo strumento non genera mappe sorgente.
Minificazione CSS in una pipeline di build
- Vite, Webpack, Parcel: gestiscono questo automaticamente nelle build di produzione.
- PostCSS con cssnano: il minificatore stand-alone standard.
- esbuild: include anche la minificazione CSS.
- preset cssnano:
defaultper trasformazioni sicure,advancedper aggressive (con alcuni compromessi).
Questo strumento è per minificazioni una tantum, correzioni rapide e per imparare cosa fanno effettivamente i minificatori. Per un flusso di lavoro di produzione, utilizza uno strumento di build in modo che la tua sorgente rimanga leggibile e solo l’output sia minificato.
Quando la minificazione può rompere il tuo CSS
Raro ma possibile:
- Selettori sensibili agli spazi bianchi:
.foo .barvs..foo.bar, lo spazio conta. - Valori di proprietà personalizzati con spazi:
--shadow: 0 2px 4px rgba(0,0,0,0.1), le virgole all’interno dirgba()non devono essere rimosse. - Commenti di blocco non chiusi:
/* mancante chiusuramangia tutto dopo di esso. I minificatori possono comportarsi male su input malformati.
La soluzione: esegui sempre il tuo output minificato attraverso un passaggio di lint/test prima di spedire.
Domande frequenti
No. Un file CSS minificato correttamente è diverso in byte ma semanticamente identico. Ogni selettore, proprietà e valore produce lo stesso risultato visivo. Se noti un cambiamento di rendering, il minificatore ha un bug o il tuo input aveva una sintassi sensibile agli spazi bianchi.
Sì, quando premi “Minify CSS”. Il CSS che incolli viene inviato al nostro server per essere minificato e il risultato viene restituito alla pagina. Non viene salvato in un database e non viene aggiunto al link della pagina.
Dopo. Minifica il CSS finale compilato che i browser ricevono effettivamente. L’output di Sass è già ragionevolmente compatto ma ha spazi bianchi e commenti che la minificazione rimuove.
Modesto ma reale, tipicamente 5-15% in aggiunta a gzip. Anche la rimozione di spazi bianchi e commenti rende i modelli gzip leggermente più densi.
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.