W3docs

Tag HTML <font>

A tag obsoleta <font> definia tamanho, tipografia e cor do texto. Saiba por que foi removida no HTML5 e como substituí-la com CSS color, font-family e font-size.

A tag <font> era utilizada para controlar o tamanho, a cor e a tipografia do texto por meio dos atributos size, color e face. Esta página explica por que você nunca deve usá-la em código novo, como ler marcação legada com <font> e exatamente como substituir cada atributo pelo CSS moderno.

Perigo

A tag <font> é obsoleta. Ela foi removida do padrão HTML5 e é uma tag HTML depreciada. Não a utilize. Estilize o texto com CSS.

Por que <font> é Obsoleta

<font> foi depreciada porque mistura apresentação (como o texto aparece) com conteúdo (o próprio texto). O desenvolvimento web moderno separa essas preocupações: o HTML descreve estrutura e significado, enquanto o CSS descreve a aparência. Essa separação mantém os documentos menores, facilita a alteração do visual de um site em um único lugar e melhora a acessibilidade e a manutenibilidade.

Consequências práticas de usar <font> hoje:

  • O padrão não fornece nenhuma renderização padrão para <font>. Os navegadores ainda podem exibir seus efeitos legados por compatibilidade retroativa, mas esse comportamento não é garantido e pode mudar ou ser ignorado.
  • Repetir <font> em cada elemento incha sua marcação. Uma única regra CSS pode estilizar centenas de elementos ao mesmo tempo.
  • Ela não pode ser controlada de forma responsiva, temática ou sobrescrita de maneira limpa como as classes CSS.

Se você encontrar <font> em uma base de código existente, trate-a como algo a ser migrado, não a ser estendido.

Sintaxe Legada

A tag <font> era usada em pares — o conteúdo ficava entre a tag de abertura <font> e a de fechamento </font>.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>
      <font size="2" color="#1c87c9">Blue text</font>
    </p>
    <p>
      <font size="3" color="red">Red text, font size increased.</font>
    </p>
    <p>
      <font face="arial" color="#8ebf42">Green text, typeface changed.</font>
    </p>
  </body>
</html>

Resultado

font tag example

O Atributo size e sua Escala de 1 a 7

Ao contrário do CSS, o atributo size de <font> não aceitava pixels ou outras unidades. Ele aceitava um número de 1 a 7, onde 1 é o menor e 7 o maior, sendo 3 o padrão. Os valores também podiam ser relativos, por exemplo size="+2" ou size="-1", ajustando em relação ao tamanho base.

Essa escala fixa correspondia aproximadamente aos seguintes valores de font-size do CSS:

<font size>font-size CSS aproximado
1x-small (~10px)
2small (~13px)
3medium (~16px, padrão)
4large (~18px)
5x-large (~24px)
6xx-large (~32px)
7~48px

Estes são equivalentes aproximados — os tamanhos exatos em pixels dependem do navegador e do tamanho de fonte base do usuário. Com CSS você não está mais limitado a sete passos; você pode definir qualquer tamanho em px, em, rem, % ou uma palavra-chave.

Mapeamento de Atributos para CSS

Cada atributo de <font> tem uma substituição direta e melhor em CSS:

Atributo de <font>Propriedade CSSExemplo
colorcolorcolor: #1c87c9;
facefont-familyfont-family: Arial, sans-serif;
sizefont-sizefont-size: 18px;

O Modo Moderno com CSS

A abordagem canônica é manter seu HTML limpo e colocar o estilo em um bloco <style> (ou em uma folha de estilos externa) usando seletores de classe. Dessa forma, uma regra pode estilizar todos os elementos correspondentes, e alterar o design mais tarde significa editar o CSS em um único lugar.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .blue-text {
        color: #1c87c9;
        font-size: 16px;
      }
      .red-text {
        color: red;
        font-size: 18px;
      }
      .green-text {
        color: #8ebf42;
        font-size: 18px;
        font-family: Arial, sans-serif;
      }
    </style>
  </head>
  <body>
    <p class="blue-text">Blue text.</p>
    <p class="red-text">Red text, font size increased.</p>
    <p class="green-text">Green text, typeface changed.</p>
  </body>
</html>

Migrando Código <font> Legado

Para converter marcação <font> antiga para HTML e CSS modernos:

  1. Remova o wrapper <font> e mantenha seu conteúdo interno dentro de um elemento semântico como <p>, <span> ou um cabeçalho.
  2. Traduza cada atributo para sua propriedade CSS usando a tabela de mapeamento acima (colorcolor, facefont-family, sizefont-size).
  3. Converta o número de size para um tamanho CSS real usando a tabela de 1 a 7 — por exemplo, size="5" torna-se font-size: 24px; (ou x-large).
  4. Agrupe estilos repetidos em uma classe em um bloco <style> ou numa folha de estilos externa para que possam ser reutilizados, em vez de estilizar cada elemento individualmente.

Por exemplo, <font size="5" color="red" face="arial">Sale!</font> torna-se:

<style>
  .sale {
    font-size: 24px;
    color: red;
    font-family: Arial, sans-serif;
  }
</style>
<span class="sale">Sale!</span>

Atributos

AtributoValorDescrição
colorrgb (x, x, x) #xxxxxx colornameDefine a cor do texto. Use CSS color em vez disso.
facefont_familyDefine a tipografia. Use CSS font-family em vez disso.
sizenumber (1–7)Define o tamanho do texto. Use CSS font-size em vez disso.

Recursos Relacionados

Prática

Prática
Qual é a substituição moderna correta para estilizar texto em vez da tag HTML font obsoleta?
Qual é a substituição moderna correta para estilizar texto em vez da tag HTML font obsoleta?
Was this page helpful?