W3docs

Etiqueta HTML <font>

La etiqueta obsoleta <font> definía tamaño, tipografía y color del texto. Aprende por qué se eliminó en HTML5 y cómo reemplazarla con CSS.

La etiqueta <font> se usaba para controlar el tamaño, el color y la tipografía del texto mediante sus atributos size, color y face. Esta página explica por qué no debes utilizarla en código nuevo, cómo leer el marcado <font> heredado y cómo reemplazar exactamente cada atributo con CSS moderno.

Peligro

La etiqueta <font> está obsoleta. Fue eliminada del estándar HTML5 y es una etiqueta HTML obsoleta. No la uses. En su lugar, dale estilo al texto con CSS.

Por qué <font> está obsoleta

<font> fue declarada obsoleta porque mezcla la presentación (cómo se ve el texto) con el contenido (el texto en sí). El desarrollo web moderno separa estas responsabilidades: HTML describe la estructura y el significado, mientras que CSS describe la apariencia. Esta separación mantiene los documentos más pequeños, facilita modificar el aspecto de un sitio desde un único lugar y mejora la accesibilidad y el mantenimiento.

Consecuencias prácticas de usar <font> hoy:

  • El estándar no define una representación visual predeterminada para <font>. Los navegadores pueden seguir mostrando sus efectos heredados por compatibilidad con versiones anteriores, pero este comportamiento no está garantizado y puede cambiar o ser ignorado.
  • Repetir <font> en cada elemento infla el marcado. Una sola regla CSS puede dar estilo a cientos de elementos a la vez.
  • No puede controlarse de forma responsiva, aplicarle temas o sobrescribirse limpiamente como lo hacen las clases CSS.

Si encuentras <font> en una base de código existente, trátalo como algo que hay que migrar, no que extender.

Sintaxis heredada

La etiqueta <font> venía en pares: el contenido iba entre la etiqueta de apertura <font> y la de cierre </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

El atributo size y su escala del 1 al 7

A diferencia de CSS, el atributo size de <font> no aceptaba píxeles ni otras unidades. Aceptaba un número del 1 al 7, donde 1 es el más pequeño y 7 el más grande, siendo 3 el valor predeterminado. Los valores también podían ser relativos, por ejemplo size="+2" o size="-1", ajustándose en relación con el tamaño base.

Esta escala fija se correspondía aproximadamente con los siguientes valores CSS de font-size:

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

Estas son equivalencias aproximadas; el tamaño en píxeles exacto depende del navegador y del tamaño de fuente base del usuario. Con CSS ya no estás limitado a siete niveles; puedes establecer cualquier tamaño en px, em, rem, % o una palabra clave.

Correspondencia entre atributos y CSS

Cada atributo de <font> tiene un reemplazo CSS directo y más completo:

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

La forma moderna con CSS

El enfoque canónico es mantener el HTML limpio y colocar los estilos en un bloque <style> (o en una hoja de estilos externa) usando selectores de clase. De este modo, una sola regla puede dar estilo a todos los elementos coincidentes, y cambiar el diseño más adelante significa editar CSS en un ú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>

Migrar código <font> heredado

Para convertir marcado <font> antiguo a HTML y CSS moderno:

  1. Elimina el envoltorio <font> y conserva su contenido interno dentro de un elemento semántico como <p>, <span> o un encabezado.
  2. Traduce cada atributo a su propiedad CSS usando la tabla de correspondencias anterior (colorcolor, facefont-family, sizefont-size).
  3. Convierte el número de size a un tamaño CSS real con la tabla del 1 al 7; por ejemplo, size="5" se convierte en font-size: 24px; (o x-large).
  4. Agrupa los estilos repetidos en una clase dentro de un bloque <style> o una hoja de estilos externa para poder reutilizarlos, en lugar de dar estilo a cada elemento individualmente.

Por ejemplo, <font size="5" color="red" face="arial">Sale!</font> se convierte en:

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

Atributos

AtributoValorDescripción
colorrgb (x, x, x) #xxxxxx colornameEstablece el color del texto. En su lugar, usa CSS color.
facefont_familyEstablece la tipografía. En su lugar, usa CSS font-family.
sizenumber (1–7)Establece el tamaño del texto. En su lugar, usa CSS font-size.

Recursos relacionados

Práctica

Práctica
¿Cuál es el reemplazo moderno correcto para dar estilo al texto en lugar de la etiqueta HTML font obsoleta?
¿Cuál es el reemplazo moderno correcto para dar estilo al texto en lugar de la etiqueta HTML font obsoleta?
Was this page helpful?