ToolDeck

Formattatore CSS

Formatta e abbellisce il CSS con una corretta indentazione

Prova un esempio

Input CSS

CSS Formattato

Esegue in locale · Sicuro per incollare segreti
Il CSS formattato apparirà qui…

Cos'è la Formattazione CSS?

La formattazione CSS è il processo di aggiunta di un'indentazione coerente, interruzioni di riga e spaziatura ai fogli di stile a cascata, in modo che il codice sia leggibile dagli esseri umani. I browser ignorano completamente gli spazi bianchi nel CSS. Un one-liner minificato e un foglio di stile correttamente indentato producono un rendering identico. La differenza è la leggibilità: un CSS formattato ti permette di scorrere i selettori, individuare i punti e virgola mancanti e comprendere la cascata a colpo d'occhio.

Un formattatore CSS (talvolta chiamato abbellitore CSS o pretty-printer) prende un CSS compresso o stilisticamente non uniforme e lo riscrive con indentazione uniforme, una dichiarazione per riga e posizionamento coerente delle parentesi graffe. Questa è l'operazione inversa della minificazione, chiamata anche abbellimento o pretty-printing. Mentre la minificazione rimuove gli spazi bianchi per ridurre le dimensioni del file in produzione, la formattazione ripristina la struttura per lo sviluppo, la revisione del codice e la manutenzione del codebase.

La specifica CSS (W3C CSS Syntax Module Level 3) definisce la grammatica per i fogli di stile, ma non dice nulla sulle convenzioni per gli spazi bianchi. Le regole di formattazione sono una decisione del team: tab vs. spazi, indentazione a 2 o 4 spazi, stile delle parentesi, righe vuote tra i set di regole. Un formattatore impone qualunque convenzione tu scelga, in modo coerente su ogni file. La maggior parte dei team codifica la propria scelta in un file .prettierrc o .editorconfig.

Perché Usare Questo Formattatore CSS?

Incolla qualsiasi CSS e ottieni un output correttamente indentato in pochi millisecondi. Nessun plugin da installare, nessun file di configurazione da scrivere, nessun account da creare.

Formattazione Immediata
L'output si aggiorna mentre digiti o incolli. Ottieni il CSS formattato subito, senza attendere un passaggio di build o eseguire un comando CLI.
🔒
Elaborazione Privacy-first
Tutta la formattazione viene eseguita localmente nel tuo browser tramite JavaScript. Il tuo CSS non lascia mai il tuo dispositivo e non viene mai inviato ad alcun server.
🎨
Indentazione Configurabile
Scegli tra indentazione a 2 spazi, 4 spazi o tab per adattarti allo stile di codice del tuo progetto. L'output è pronto per essere incollato direttamente nel tuo codebase.
📋
Nessun Login Richiesto
Apri la pagina, incolla il tuo CSS, copia il risultato. Nessuna registrazione, nessun limite di utilizzo, nessuna funzionalità a pagamento. Lo strumento completo è disponibile ad ogni visita.

Casi d'Uso del Formattatore CSS

Sviluppo Frontend
Quando ricevi CSS minificato da una libreria vendor o da un CDN, formattalo per leggere i selettori e capire cosa sovrascrive nei tuoi fogli di stile.
Backend Engineering
Le pagine renderizzate lato server spesso includono CSS critico inline come un'unica riga. Formattare quel CSS rende più semplice verificare quali stili sono inclusi nel payload HTML iniziale.
DevOps e Pipeline CI
Applica una formattazione CSS coerente nelle pull request confrontando l'output del formattatore con i file committati. Spazi bianchi non uniformi creano diff rumorosi che oscurano le modifiche reali.
QA e Analisi dei Bug
Quando esegui il debug di un bug visivo, formatta il CSS calcolato da DevTools per identificare rapidamente quali proprietà sono applicate e in quale ordine di specificità.
Migrazione dei Dati
I content management system e i builder per email archiviano il CSS in campi di database, spesso privi di spazi bianchi. Formattare il CSS estratto aiuta a verificarlo prima di reimportarlo.
Imparare il CSS
Gli studenti che imparano il CSS possono incollare esempi da tutorial o risposte di Stack Overflow e vederli formattati in modo coerente, rendendo il nesting e la cascata più facili da seguire.

Riferimento all'Ordinamento delle Proprietà CSS

La maggior parte dei formattatori CSS non riordina le proprietà. Tuttavia, molte guide di stile raccomandano di raggruppare le proprietà correlate. La tabella seguente mostra una convenzione di raggruppamento comune usata da strumenti come il plugin order di Stylelint e CSScomb:

GruppoProprietà di EsempioScopo
Position & Layoutposition, display, float, clearDefines the element's rendering mode
Box Modelwidth, height, margin, paddingControls dimensions and spacing
Typographyfont-size, line-height, colorText styling properties
Visualbackground, border, box-shadowDecorative properties
Animationtransition, animation, transformMotion and transform effects
Misccursor, overflow, z-indexBehavioral and stacking properties

Questo raggruppamento è una convenzione, non un requisito CSS. I browser applicano le dichiarazioni in base alla specificità e all'ordine delle sorgenti, indipendentemente dalla posizione della proprietà all'interno di un blocco di regole. Un formattatore si concentra sugli spazi bianchi e sull'indentazione; il riordinamento delle proprietà è una questione separata di linting gestita da strumenti come Stylelint.

Formattazione CSS vs. Minificazione CSS

Formattazione e minificazione sono operazioni inverse, applicate in fasi diverse dello sviluppo:

Formattatore CSS (questo strumento)
Aggiunge indentazione, interruzioni di riga e spaziatura per rendere il CSS leggibile. Usato durante lo sviluppo e la revisione del codice. Aumenta le dimensioni del file ma non ha alcun effetto sul rendering del browser. L'output è pensato per gli esseri umani.
CSS Minifier
Rimuove tutti gli spazi bianchi non necessari, i commenti e la sintassi ridondante per ridurre le dimensioni del file. Usato per i build di produzione. L'output è pensato per i browser e i CDN, non per la lettura.

Esempi di Codice

Come formattare il CSS a livello di codice in diversi linguaggi e ambienti:

JavaScript (Prettier API)
import * as prettier from 'prettier'

const ugly = 'body{margin:0;padding:0}h1{font-size:2rem;color:#333}'

const formatted = await prettier.format(ugly, {
  parser: 'css',
  tabWidth: 2,
  singleQuote: true,
})
// → "body {\n  margin: 0;\n  padding: 0;\n}\n\nh1 {\n  font-size: 2rem;\n  color: #333;\n}\n"
Python (cssbeautifier)
import cssbeautifier

ugly = 'body{margin:0;padding:0}h1{font-size:2rem;color:#333}'

opts = cssbeautifier.default_options()
opts.indent_size = 2

formatted = cssbeautifier.beautify(ugly, opts)
# → "body {\n  margin: 0;\n  padding: 0;\n}\n\nh1 {\n  font-size: 2rem;\n  color: #333;\n}"
CLI (Prettier)
# Format a single file in place
npx prettier --write styles.css

# Format all CSS files in a directory
npx prettier --write "src/**/*.css"

# Check formatting without modifying files
npx prettier --check "src/**/*.css"

# Pipe minified CSS through stdin
echo "body{margin:0;padding:0}" | npx prettier --parser css
PHP (sabberworm/php-css-parser)
<?php
// composer require sabberworm/php-css-parser
require 'vendor/autoload.php';

use Sabberworm\CSS\Parser;
use Sabberworm\CSS\OutputFormat;

$input = 'body{margin:0;padding:0}h1{font-size:2rem;color:#333}';

$document = (new Parser($input))->parse();
echo $document->render(OutputFormat::createPretty());
// → body {
//     margin: 0;
//     padding: 0;
//   }
//   h1 {
//     font-size: 2rem;
//     color: #333;
//   }

Domande Frequenti

Qual è la differenza tra un formattatore CSS e un linter CSS?
Un formattatore CSS modifica solo gli spazi bianchi: indentazione, interruzioni di riga, spaziatura attorno a due punti e parentesi graffe. Non modifica le tue dichiarazioni CSS effettive. Un linter CSS (come Stylelint) analizza il codice alla ricerca di errori, cattive pratiche e violazioni di stile, e può suggerire o correggere automaticamente problemi che vanno oltre gli spazi bianchi. I team usano tipicamente entrambi: il formattatore per la spaziatura coerente, il linter per individuare gli errori.
La formattazione del CSS cambia come viene visualizzato nel browser?
No. I browser analizzano il CSS secondo il W3C CSS Syntax Module, che tratta tutti gli spazi bianchi (spazi, tab, newline) come separatori di token equivalenti. Aggiungere o rimuovere spazi bianchi tra dichiarazioni, selettori o valori non ha alcun effetto sugli stili calcolati. L'unica eccezione riguarda gli spazi bianchi all'interno di valori stringa come content: "hello world", che il formattatore preserva.
Quanti spazi devo usare per l'indentazione CSS?
Le due convenzioni più comuni sono 2 spazi e 4 spazi. La guida di stile di Google e il valore predefinito di Prettier usano entrambi 2 spazi. Gli standard di codifica CSS di WordPress usano i tab. Non c'è alcuna differenza di prestazioni. Scegli ciò che il tuo team già usa, o ciò che usa il tuo codice JavaScript/HTML esistente, e mantieni la coerenza.
Posso formattare SCSS, LESS o altri preprocessori CSS con questo strumento?
Questo strumento formatta la sintassi CSS standard. SCSS e LESS condividono la maggior parte della sintassi CSS, quindi il codice semplice dei preprocessori spesso viene formattato correttamente. Tuttavia, i costrutti specifici di SCSS come @mixin, @include e i set di regole annidati potrebbero non essere gestiti come previsto. Per SCSS, usa Prettier con il parser SCSS o l'estensione sass-formatter.
La formattazione CSS è la stessa cosa dell'abbellimento CSS?
Sì. I termini formattatore CSS, abbellitore CSS e pretty-printer CSS si riferiscono tutti alla stessa operazione: aggiungere spazi bianchi coerenti al codice CSS. Strumenti diversi usano nomi diversi, ma il risultato è lo stesso: CSS indentato e leggibile con una dichiarazione per riga.
Perché il mio CSS formattato ha un numero di righe diverso dall'originale?
Il CSS minificato o compresso spesso raggruppa più dichiarazioni su una singola riga o omette le interruzioni di riga tra i set di regole. Il formattatore aggiunge un'interruzione di riga dopo ogni dichiarazione e una riga vuota tra i set di regole, il che aumenta il conteggio delle righe. Il contenuto CSS effettivo (selettori, proprietà, valori) rimane invariato.
Devo committare CSS formattato o minificato nel controllo di versione?
Committa il CSS formattato. I diff del controllo di versione sono basati sulle righe, quindi il CSS formattato con una dichiarazione per riga produce diff puliti e verificabili. Il CSS minificato crea diff su una singola riga impossibili da revisionare. Esegui la minificazione come passaggio di build, non come formato sorgente. Strumenti come PostCSS, cssnano o il plugin CSS del tuo bundler gestiscono automaticamente la minificazione in produzione.