Menu

Negrito no CSS: font-weight de 100 a 900 com exemplos

A propriedade font-weight deixa o texto em negrito, fino ou qualquer coisa entre os dois. Veja a escala numérica de 100 a 900, normal e bold, os relativos bolder e lighter e por que às vezes um peso não muda nada.

Esta página tem editores executáveis - edite, execute e veja a saída na hora.

Como deixar o texto em negrito no CSS

font-weight define a espessura das letras. bold (o mesmo que 700) deixa o texto em negrito, e normal (o mesmo que 400) é o texto regular.

Títulos, <th>, <b> e <strong> já vêm em negrito por causa da folha de estilo do próprio navegador, então font-weight: normal é o jeito de tirar o negrito. Para saber quando usar <b> ou <strong> no HTML, veja negrito no HTML.

A escala numérica: de 100 a 900

Os números têm nomes padrão que as famílias de fontes seguem:

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

Qualquer número de 1 a 1000 é válido, então 450 e 650 também são permitidos. Se você vai ver diferença depende da fonte: o navegador só consegue desenhar os pesos que a fonte realmente tem.

system-ui é a fonte da interface do sistema operacional, que costuma trazer muitos pesos. Se todas as linhas acima parecem ter um de dois pesos, a fonte do seu sistema só tem regular e bold.

Por que um peso não muda nada

Uma fonte é um conjunto de arquivos, muitas vezes um por peso. Quando o peso exato não existe, o navegador escolhe o mais próximo que tiver:

  • Para 500, ele tenta 500, depois os pesos mais leves, depois os mais pesados.
  • Para 600 ou mais, ele tenta primeiro os pesos mais pesados, depois os mais leves.
  • Se não houver nenhum arquivo bold, a maioria dos navegadores simula um engrossando as letras regulares (negrito sintético).

Compare uma fonte com muitos pesos com serif, que na maioria dos sistemas só tem regular e bold:

Na coluna serif, 300 e 500 normalmente caem na face regular e 600 na face bold. Essa é a resposta para a maioria das dúvidas de "font-weight não funciona": o CSS está certo, falta o peso na fonte. Uma fonte variável (um arquivo com um eixo de peso) desenha qualquer valor dentro da sua faixa de pesos de forma contínua.

bolder e lighter

bolder e lighter são relativos ao peso que o elemento herda. Eles pulam para o próximo grupo de peso em vez de somar um valor fixo:

Peso do paibolder dálighter dá
100 a 349400100
350 a 549700100
550 a 749900400
750 a 900900700

Padrão do dia a dia: uma escala de pesos em variáveis

Escolha três ou quatro pesos para o site inteiro e dê nome a eles, em vez de espalhar números:

: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); }

Erros comuns

  • Esperar que todo número pareça diferente. Só os pesos que a fonte contém aparecem distintos.
  • Usar <b> no rótulo de um botão. Estilize o botão com font-weight; deixe <b> e <strong> para o texto.
  • Colocar o número entre aspas. font-weight: "700" é inválido e ignorado. Escreva font-weight: 700.
  • Negrito para dar ênfase em tudo. Quando tudo está em negrito, nada se destaca. Mantenha o texto do corpo em 400.
  • Pesos finos em texto pequeno. De 100 a 300 em tamanhos pequenos fica difícil de ler, principalmente em fundos com pouco contraste.

Perguntas frequentes

Como deixar um texto em negrito no CSS?

Use font-weight: bold; ou o número equivalente font-weight: 700; no elemento. Para tirar o negrito de um título ou de um <strong>, defina font-weight: normal; (400).

Quais são os valores de font-weight?

Números de 1 a 1000, normalmente escritos em centenas: 100 thin, 200 extra light, 300 light, 400 normal, 500 medium, 600 semibold, 700 bold, 800 extra bold, 900 black. As palavras-chave normal e bold valem 400 e 700, e bolder e lighter são relativas ao pai.

font-weight bold é o mesmo que 700?

Sim. bold é calculado como 700 e normal como 400, então as duas formas ficam idênticas na tela.

Por que font-weight 500 ou 600 parece igual a normal ou bold?

A fonte não tem esse peso. Quando uma fonte só traz 400 e 700, o navegador escolhe o arquivo mais próximo disponível, então 500 aparece como 400 e 600 como 700. Carregue uma fonte com mais pesos ou uma fonte variável.

Devo usar font-weight no CSS ou a tag <b>?

Use <strong> quando as palavras são importantes, <b> para um texto que só tem um estilo diferente e font-weight para o design visual, como botões, rótulos e títulos. As tags carregam significado; a propriedade é só aparência.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR