Menu

Cor do texto no HTML: como mudar a cor da fonte com CSS

A tag <font color> está obsoleta; a cor do texto no HTML é definida com a propriedade CSS color. Veja como colorir uma página inteira, uma palavra, um link ou um título com cores nomeadas, hex e rgb, e como manter o texto legível.

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

Como mudar a cor do texto no HTML

Use a propriedade CSS color. Ela define a cor do texto de um elemento, e todo elemento dentro dele herda a mesma cor, a menos que defina a sua.

A propriedade se chama color, não font-color nem text-color. Esses nomes não existem no CSS e são ignorados sem aviso.

Por que não usar a tag font

Tutoriais antigos mostram <font color="red">. Essa tag foi removida do HTML há anos: os validadores a apontam como erro, e ela mistura estilo com marcação, então mudar uma cor significa editar cada tag à mão. Os navegadores ainda a desenham por compatibilidade, e esse é o único motivo de ela parecer funcionar.

<!-- obsolete -->
<font color="red">Warning</font>

<!-- use this -->
<span style="color: red;">Warning</span>

<!-- or better, a class you can change in one place -->
<span class="warning">Warning</span>

Formas de escrever a cor

color aceita todos os formatos de cor do CSS. Os quatro mais comuns:

FormatoExemploObservações
Nomecolor: tomato;148 cores com nome, práticas para testes rápidos
Hexcolor: #2563eb;O mais comum em arquivos de design
rgb()color: rgb(37 99 235);Vermelho, verde e azul de 0 a 255
hsl()color: hsl(221 83% 53%);Matiz, saturação, luminosidade: fácil de clarear ou escurecer

Hex, rgb() e hsl() aceitam um canal alfa para texto semitransparente, como #2563eb80 ou rgb(37 99 235 / 50%). A página de cores CSS explica todos os formatos.

Colorir uma página inteira, um título ou uma seção

Defina a cor uma vez no body, deixe a herança fazer o resto e sobrescreva onde precisar:

Um quase preto suave como #111827 ou #374151 sobre branco cansa menos a vista que o #000000 puro e ainda é lido como preto.

Os links são a exceção à herança: o navegador dá a eles um azul próprio (e roxo depois de visitados), então uma cor no pai não chega até eles. Defina a cor no link ou diga ao link para herdar:

:hover, :visited e :focus-visible permitem mudar a cor por estado; a página de hover trata deles. Quando um link tem a mesma cor do texto em volta, mantenha o sublinhado para que ele continue reconhecível como link.

Deixe o texto legível: contraste

A cor do texto é só metade do par; o fundo é a outra metade. A WCAG pede uma razão de contraste de pelo menos 4.5:1 para texto normal e 3:1 para texto grande (cerca de 24px, ou 19px em negrito).

Texto cinza-claro com cara de placeholder é a falha mais comum. As ferramentas de desenvolvedor do Chrome e do Firefox mostram a razão de contraste quando você inspeciona uma cor de texto.

currentColor: reaproveitar a cor do texto

currentColor é uma palavra-chave igual ao color do elemento. Bordas, outlines e ícones SVG inline podem usá-la, então uma única mudança em color muda a cor do texto e da decoração juntos:

Erros comuns

  • Escrever font-color ou text-color. A propriedade é color.
  • Usar a tag <font>. Ela está obsoleta; use CSS.
  • Esperar que os links herdem a cor. Defina a { color: ... } ou color: inherit.
  • Cor como único sinal. "Os campos em vermelho são obrigatórios" falha para quem não distingue o vermelho. Acrescente texto ou um ícone.
  • Texto cinza com pouco contraste. Confira a razão: 4.5:1 ou mais para o texto do corpo.
  • Usar opacity para clarear o texto. Ela esmaece o elemento inteiro, incluindo fundo e filhos. Use uma cor mais clara ou uma cor com alfa.

Perguntas frequentes

Como mudar a cor da fonte no HTML?

Use a propriedade CSS color, em uma folha de estilo ou em um atributo style: <p style="color: #2563eb;">Blue text</p>. A antiga tag <font color> está obsoleta.

A tag <font> ainda é suportada?

Os navegadores ainda a desenham para que páginas muito antigas continuem funcionando, mas ela está obsoleta no HTML e os validadores a apontam como erro. Use o color do CSS.

Como mudar a cor de uma palavra só?

Envolva a palavra em um <span> e dê uma cor a ele: This is <span style="color: #dc2626;">red</span>. Use <strong> ou <em> no lugar de <span> se a palavra também for importante ou enfatizada.

Por que meu link não muda de cor quando defino color no pai?

Os links têm a própria cor vinda da folha de estilo do navegador, então não herdam a do pai. Defina a cor no próprio link (a { color: #2563eb; }) ou use a { color: inherit; } para seguir o pai.

No CSS é font-color ou color?

É color. Não existe propriedade font-color nem text-color; o navegador as ignora.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR