Menu

Font-weight CSS: grassetto, valori da 100 a 900 ed esempi

La proprietà font-weight rende il testo in grassetto, leggero o qualsiasi via di mezzo. Impara la scala numerica da 100 a 900, normal e bold, i relativi bolder e lighter, e perché a volte un peso non cambia nulla.

Questa pagina include editor eseguibili: modifica, esegui e vedi subito l'output.

Come mettere il testo in grassetto in CSS

font-weight imposta lo spessore delle lettere. bold (uguale a 700) mette il testo in grassetto, e normal (uguale a 400) è il testo normale.

I titoli, <th>, <b> e <strong> sono in grassetto per impostazione predefinita a causa del foglio di stile del browser, quindi font-weight: normal è il modo per togliere il grassetto. Per capire quando usare <b> o <strong> nell'HTML stesso, vedi grassetto in HTML.

La scala numerica: da 100 a 900

I numeri hanno nomi standard che le famiglie di font seguono:

ValoreNome comune
100Thin
200Extra Light
300Light
400Normal (Regular)
500Medium
600Semi Bold
700Bold
800Extra Bold
900Black (Heavy)

Qualsiasi numero da 1 a 1000 è valido, quindi sono ammessi anche 450 e 650. Se vedi o no una differenza dipende dal font: il browser può disegnare solo i pesi che il font ha davvero.

system-ui è il font dell'interfaccia del sistema operativo, che di solito include molti pesi. Se tutte le righe qui sopra sembrano avere solo due pesi, il font del tuo sistema ha solo regular e bold.

Perché un peso non cambia nulla

Un font è un insieme di file, spesso uno per peso. Quando manca il peso esatto, il browser sceglie il più vicino che ha:

  • Per 500, prova 500, poi i pesi più leggeri, poi quelli più pesanti.
  • Per 600 e oltre, prova prima i pesi più pesanti, poi quelli più leggeri.
  • Se non c'è proprio un file bold, la maggior parte dei browser ne simula uno ispessendo le lettere normali (grassetto sintetico).

Confronta un font con molti pesi con serif, che nella maggior parte dei sistemi ha solo regular e bold:

Nella colonna serif, 300 e 500 di solito ripiegano sulla versione regular e 600 su quella bold. È la risposta alla maggior parte delle domande del tipo "font-weight non funziona": il CSS va bene, è il font che non ha quel peso. Un font variabile (un solo file con un asse del peso) disegna in modo continuo ogni valore all'interno del suo intervallo di pesi.

bolder e lighter

bolder e lighter sono relativi al peso che l'elemento eredita. Passano al gruppo di pesi successivo invece di aggiungere una quantità fissa:

Peso del genitorebolder dàlighter dà
da 100 a 349400100
da 350 a 549700100
da 550 a 749900400
da 750 a 900900700

Uno schema reale: una scala di pesi nelle variabili

Scegli tre o quattro pesi per tutto il sito e dagli un nome, invece di spargere numeri ovunque:

:root {
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;
}
body   { font-weight: var(--weight-regular); }
button { font-weight: var(--weight-medium); }
h1, h2 { font-weight: var(--weight-bold); }

Errori comuni

  • Aspettarsi che ogni numero abbia un aspetto diverso. Solo i pesi contenuti nel font vengono resi in modo distinto.
  • Usare <b> per l'etichetta di un pulsante. Dai stile al pulsante con font-weight; tieni <b> e <strong> per il testo.
  • Mettere il numero tra virgolette. font-weight: "700" non è valido e viene ignorato. Scrivi font-weight: 700.
  • Grassetto per dare enfasi ovunque. Quando tutto è in grassetto, niente risalta. Tieni il testo normale a 400.
  • Pesi sottili per il testo piccolo. Da 100 a 300 a dimensioni ridotte è difficile da leggere, soprattutto su sfondi a basso contrasto.

Domande frequenti

Come metto il testo in grassetto in CSS?

Usa font-weight: bold; o il numero equivalente font-weight: 700; sull'elemento. Per togliere il grassetto da un titolo o da uno <strong>, imposta font-weight: normal; (400).

Quali sono i valori di font-weight?

Numeri da 1 a 1000, di solito scritti in centinaia: 100 thin, 200 extra light, 300 light, 400 normal, 500 medium, 600 semibold, 700 bold, 800 extra bold, 900 black. Le parole chiave normal e bold valgono 400 e 700, e bolder e lighter sono relative al genitore.

font-weight bold è uguale a 700?

Sì. bold corrisponde a 700 e normal a 400, quindi le due forme vengono rese in modo identico.

Perché font-weight 500 o 600 sembra uguale a normal o bold?

Il font non ha quel peso. Quando un font include solo 400 e 700, il browser sceglie il file disponibile più vicino, quindi 500 appare come 400 e 600 come 700. Carica un font con più pesi o un font variabile.

Meglio font-weight in CSS o il tag <b>?

Usa <strong> quando le parole sono importanti, <b> per un testo che ha solo uno stile diverso, e font-weight per il design visivo come pulsanti, etichette e titoli. I tag portano un significato; la proprietà è solo aspetto.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA