Un convertitore di unità CSS è uno strumento che traduce i valori di lunghezza tra i diversi sistemi di misurazione CSS. Il CSS definisce oltre una dozzina di unità di lunghezza, suddivise in due gruppi: unità assolute come px, pt, cm e in che corrispondono a misure fisiche fisse, e unità relative come rem, em, vw, vh e % che dipendono dal contesto, come la dimensione del font o le dimensioni del viewport.
I browser risolvono tutte le lunghezze CSS in pixel durante il rendering. Quando scrivi 1.5rem, il browser moltiplica 1.5 per la dimensione del font radice (tipicamente 16px) per ottenere 24px. Quando scrivi 50vw, prende la metà della larghezza corrente del viewport. Comprendere queste relazioni è necessario per costruire layout che scalino su diversi dispositivi e rispettino le preferenze dell'utente, come le dimensioni del font personalizzate impostate nel browser.
La specifica CSS Values and Units Module Level 4 (W3C) definisce i rapporti di conversione esatti tra tutte le unità assolute: 1in = 96px = 72pt = 2.54cm = 25.4mm. Le unità relative non hanno un rapporto fisso perché dipendono dal contesto di esecuzione. Un convertitore di unità CSS gratuito ti consente di calcolare istantaneamente queste relazioni in base alla tua specifica dimensione del font radice e alle dimensioni del viewport, senza scrivere alcun codice.
Perché Usare un Convertitore di Unità CSS?
Convertire manualmente tra unità CSS significa ricordare rapporti, aprire una calcolatrice e ricontrollare i calcoli. Questo strumento esegue la conversione nel tuo browser senza alcuna difficoltà.
⚡
Conversione Immediata
Inserisci un valore, scegli l'unità sorgente e visualizza i risultati in tutte e 10 le unità CSS contemporaneamente. Nessun bisogno di eseguire calcoli separati per px-to-rem, px-to-vw o px-to-pt.
🔒
Dati Sempre Privati
Tutte le conversioni vengono eseguite localmente nel tuo browser. Nessun valore viene inviato a un server, registrato o memorizzato. Chiudi la scheda e i dati sono eliminati.
🎯
Adattato al Tuo Contesto Esatto
Imposta la tua dimensione del font radice, la larghezza del viewport, l'altezza del viewport e la dimensione del font del genitore. Il convertitore utilizza questi valori per produrre risultati accurati per le unità rem, em, vw, vh e %.
📏
Copre Tutte le Unità di Lunghezza CSS
Supporta px, rem, em, vw, vh, %, pt, cm, mm e in. Che tu stia lavorando con layout per schermo, fogli di stile per la stampa o tipografia responsive, ogni unità è supportata.
Casi d'Uso del Convertitore di Unità CSS
Sviluppo Frontend
Converti i valori in pixel di un file di design in rem per una libreria di componenti. Quando un mockup Figma specifica 24px di spaziatura, converti in 1.5rem in modo che il layout scala con le preferenze di dimensione del font dell'utente.
Backend / Sviluppo Full-Stack
Genera template PDF o email dove le dimensioni sono specificate in pt o cm. Converti i valori CSS in pixel in dimensioni in punti pronte per la stampa per il rendering lato server con strumenti come Puppeteer o wkhtmltopdf.
DevOps / Pipeline CI
Verifica che i token di spaziatura di un design system utilizzino unità coerenti tra i passaggi di build. Controlla rapidamente che una base di 16px produca i valori rem attesi nel CSS generato.
QA / Test Visivo
Verifica gli stili calcolati durante i test cross-browser. Quando Chrome DevTools mostra un valore calcolato di 14.4px, convertilo in rem per confermare che corrisponda al valore atteso di 0.9rem dal foglio di stile.
Visualizzazione dei Dati
Dimensiona elementi SVG o canvas in base alle dimensioni del viewport. Converti le larghezze dei grafici in pixel fissi in unità vw in modo che le visualizzazioni riempiano una percentuale costante dello schermo su monitor diversi.
Imparare il CSS
Comprendi la relazione tra rem, em e px sperimentando con diverse dimensioni base. Cambia la dimensione del font radice da 16px a 18px e osserva come ogni valore rem si modifica.
Riferimento alle Unità di Lunghezza CSS
Il CSS definisce 10 unità di lunghezza comunemente utilizzate. Le unità assolute hanno una conversione fissa in pixel. Le unità relative dipendono dal contesto: la dimensione del font radice per rem, la dimensione del font del genitore per em, e il viewport del browser per vw e vh.
Unità
Nome
Dimensione predefinita
Relativa a
px
Pixel
1px
Fixed; 1px = 1/96 of 1in on screens
rem
Root em
16px (default)
Relative to <html> font-size
em
Em
Inherited
Relative to parent element font-size
vw
Viewport width
1% of viewport
Relative to browser window width
vh
Viewport height
1% of viewport
Relative to browser window height
%
Percentage
Varies
Relative to parent property value
pt
Point
1.333px
Print unit; 1pt = 1/72 of 1in
cm
Centimeter
37.795px
Physical unit; 1cm = 96px / 2.54
mm
Millimeter
3.7795px
Physical unit; 1mm = 1cm / 10
in
Inch
96px
Physical unit; 1in = 96px (CSS spec)
Unità CSS Assolute vs Relative
La scelta tra unità assolute e relative influisce su come il tuo layout risponde a schermi diversi e alle impostazioni dell'utente. Ogni gruppo presenta vantaggi e svantaggi distinti.
Unità Assolute (px, pt, cm, mm, in)
Le unità assolute producono la stessa dimensione fisica indipendentemente dal contesto. Usa px per bordi, ombre ed elementi che non devono scalare. Usa pt per i fogli di stile per la stampa. La specifica CSS definisce 1in = 96px, anche se la dimensione fisica effettiva varia in base al DPI del display.
Unità Relative (rem, em, vw, vh, %)
Le unità relative scalano in base al loro contesto di riferimento. Usa rem per le dimensioni del font e la spaziatura, per rispettare le preferenze dell'utente. Usa em per la scalatura interna ai componenti (padding relativo alla dimensione del font dell'elemento stesso). Usa vw/vh per layout a schermo intero come le sezioni hero.
Tabella di Conversione Comune px → rem
Questa tabella assume una dimensione del font radice di 16px (il valore predefinito del browser). Se il tuo progetto usa una base diversa, dividi il valore in pixel per la tua base per ottenere l'equivalente in rem.
px
rem
pt
Utilizzo tipico
10
0.625
7.5
Small caption text
12
0.75
9
Body text (compact)
14
0.875
10.5
Default body text
16
1
12
Root font-size (browser default)
18
1.125
13.5
Large body text
20
1.25
15
H4 heading
24
1.5
18
H3 heading
32
2
24
H2 heading
48
3
36
H1 heading
64
4
48
Display / hero text
Esempi di Codice
Questi esempi mostrano come convertire unità CSS a livello di codice in JavaScript, Python, proprietà personalizzate CSS e Sass.
JavaScript
// px to rem (given root font-size of 16px)
const pxToRem = (px, base = 16) => px / base
pxToRem(24) // → 1.5
// rem to px
const remToPx = (rem, base = 16) => rem * base
remToPx(1.5) // → 24
// px to vw (given viewport width of 1440px)
const pxToVw = (px, viewport = 1440) => (px / viewport) * 100
pxToVw(360) // → 25
// Dynamic calculation using getComputedStyle
const rootFontSize = parseFloat(
getComputedStyle(document.documentElement).fontSize
) // → 16 on most browsers
Qual è la dimensione del font radice predefinita nei browser?
Tutti i principali browser (Chrome, Firefox, Safari, Edge) hanno come valore predefinito una dimensione del font radice di 16px. Questo significa che 1rem = 16px a meno che l'utente o un foglio di stile non sovrascriva la dimensione del font dell'elemento html. Alcuni utenti aumentano questo valore nelle impostazioni del browser per l'accessibilità, motivo per cui rem è la scelta migliore rispetto a px per il testo.
Come si converte px in rem?
Dividi il valore in pixel per la dimensione del font radice. Con la base predefinita di 16px: 24px / 16 = 1.5rem. Se il tuo progetto imposta html { font-size: 10px } (un reset comune), allora 24px / 10 = 2.4rem. La formula è sempre: rem = px / font-size-radice.
Qual è la differenza tra rem e em?
rem è relativo alla dimensione del font dell'elemento radice (il tag html), mentre em è relativo alla dimensione del font del genitore dell'elemento corrente. Ciò significa che rem produce una dimensione coerente in tutta la pagina, mentre em si compone quando è annidato. Un 2em all'interno di un genitore 2em diventa 4 volte la dimensione radice. Usa rem per la spaziatura globale e le dimensioni del font; usa em quando vuoi che la dimensione scala relativamente al testo del componente stesso.
Quando dovrei usare le unità vw o vh?
Usa vw per elementi che devono scalare con la larghezza della finestra del browser, come sezioni hero a larghezza piena o tipografia fluida (clamp con vw). Usa vh per sezioni a schermo intero o layout con altezza pari al viewport. Presta attenzione a vh sui browser mobile dove la barra degli indirizzi cambia l'altezza del viewport; la nuova unità dvh (dynamic viewport height) risolve questo problema.
Posso combinare unità CSS diverse nella stessa proprietà?
Sì. La funzione CSS calc() ti permette di combinare qualsiasi unità in un'unica espressione. Ad esempio, width: calc(100vw - 2rem) sottrae 32px (con base predefinita) dalla larghezza totale del viewport. Puoi anche combinare unità in clamp(): font-size: clamp(1rem, 2vw + 0.5rem, 2.5rem) crea una tipografia fluida che scala tra 16px e 40px.
Quanti pixel è 1pt in CSS?
In CSS, 1pt = 1/72 di pollice e 1 pollice = 96px, quindi 1pt = 96/72 = 1.333px. Questo rapporto è fisso nella specifica CSS indipendentemente dal DPI dello schermo. I punti sono utilizzati principalmente nei fogli di stile per la stampa e nella generazione di PDF. Per il design su schermo, px o rem sono scelte migliori.
Il reset del font-size al 62.5% è ancora una buona pratica?
Impostare html { font-size: 62.5% } fa sì che 1rem = 10px, semplificando il calcolo mentale (24px = 2.4rem). Tuttavia, richiede di impostare esplicitamente il font-size sull'elemento body e può causare problemi con componenti di terze parti che assumono la base predefinita di 16px. La preferenza moderna è di mantenere il valore predefinito di 16px e usare una funzione Sass o un plugin PostCSS per gestire la conversione.