Cómo cambiar el color del texto en HTML
Usa la propiedad CSS color. Define el color del texto de un elemento, y todos los elementos que contiene heredan el mismo color salvo que definan el suyo.
La propiedad se llama color, no font-color ni text-color. Esos nombres no existen en CSS y se ignoran en silencio.
Por qué no la etiqueta font
Los tutoriales viejos muestran <font color="red">. Esa etiqueta se eliminó de HTML hace años: los validadores la marcan como error y mezcla el estilo con el marcado, así que cambiar un color significa editar cada etiqueta a mano. Los navegadores todavía la dibujan por compatibilidad, que es la única razón por la que parece 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 escribir el color
color acepta todos los formatos de color de CSS. Los cuatro más comunes:
| Formato | Ejemplo | Notas |
|---|---|---|
| Nombre | color: tomato; | 148 colores con nombre, prácticos para pruebas rápidas |
| Hex | color: #2563eb; | El más común en los archivos de diseño |
| rgb() | color: rgb(37 99 235); | Rojo, verde y azul de 0 a 255 |
| hsl() | color: hsl(221 83% 53%); | Tono, saturación, luminosidad: fácil de aclarar u oscurecer |
Hex, rgb() y hsl() pueden llevar un canal alfa para texto semitransparente, como #2563eb80 o rgb(37 99 235 / 50%). La página de colores CSS explica todos los formatos.
Dar color a toda la página, a un título o a una sección
Define el color una vez en body, deja que la herencia haga el resto y sobrescríbelo donde haga falta:
Un casi negro suave como #111827 o #374151 sobre blanco cansa menos la vista que el #000000 puro y se sigue leyendo como negro.
Colores de los enlaces
Los enlaces son la excepción a la herencia: el navegador les da su propio azul (y morado una vez visitados), así que un color en el padre no les llega. Defínelo en el enlace, o dile al enlace que herede:
:hover, :visited y :focus-visible te permiten cambiar el color en cada estado; la página de hover los explica. Cuando un enlace tiene el mismo color que el texto que lo rodea, mantén su subrayado para que se siga reconociendo como enlace.
Que el texto se lea: el contraste
El color del texto es solo la mitad de la pareja; el fondo es la otra mitad. WCAG pide un contraste de al menos 4.5:1 para el texto normal y 3:1 para el texto grande (unos 24px, o 19px en negrita).
El texto gris claro, estilo placeholder, es el fallo más común. Las herramientas para desarrolladores de Chrome y Firefox muestran la relación de contraste cuando inspeccionas un color de texto.
currentColor: reutilizar el color del texto
currentColor es una palabra clave igual al color del elemento. Los bordes, los outlines y los íconos SVG en línea pueden usarla, así que un solo cambio de color recolorea el texto y su decoración a la vez:
Errores comunes
- Escribir
font-colorotext-color. La propiedad escolor. - Usar la etiqueta
<font>. Está obsoleta; usa CSS. - Esperar que los enlaces hereden. Define
a { color: ... }ocolor: inherit. - El color como única señal. "Los campos en rojo son obligatorios" no le sirve a quien no distingue el rojo. Agrega texto o un ícono.
- Texto gris de poco contraste. Comprueba la relación: 4.5:1 o más para el texto del cuerpo.
- Usar
opacitypara aclarar el texto. Desvanece todo el elemento, incluidos el fondo y los hijos. Usa un color más claro o un color con alfa.
Preguntas frecuentes
¿Cómo cambio el color de letra en HTML?
Usa la propiedad CSS color, en una hoja de estilo o en un atributo style: <p style="color: #2563eb;">Blue text</p>. La vieja etiqueta <font color> está obsoleta.
¿La etiqueta <font> sigue siendo compatible?
Los navegadores todavía la dibujan para que las páginas muy antiguas sigan funcionando, pero está obsoleta en HTML y los validadores la marcan como error. Usa color de CSS.
¿Cómo cambio el color de una sola palabra?
Envuelve la palabra en un <span> y dale un color: This is <span style="color: #dc2626;">red</span>. Usa <strong> o <em> en lugar de <span> si además la palabra es importante o va enfatizada.
¿Por qué mi enlace no cambia de color cuando defino color en el padre?
Los enlaces tienen su propio color, que viene de la hoja de estilo del navegador, así que no heredan el del padre. Defínelo en el propio enlace (a { color: #2563eb; }) o usa a { color: inherit; } para que siga al padre.
¿En CSS se usa font-color o color?
Se usa color. No existen las propiedades font-color ni text-color; el navegador las ignora.