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:
| Formato | Exemplo | Observações |
|---|---|---|
| Nome | color: tomato; | 148 cores com nome, práticas para testes rápidos |
| Hex | color: #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.
Cores de link
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-coloroutext-color. A propriedade écolor. - Usar a tag
<font>. Ela está obsoleta; use CSS. - Esperar que os links herdem a cor. Defina
a { color: ... }oucolor: 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
opacitypara 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.