Cómo Cambiar el Color del Texto en HTML usando Python – Ejemplos de CSS En Línea e Interno
¿Por Qué Cambiar el Color del Texto Programáticamente?
Cambiar dinámicamente el color del texto es una tarea común en automatización web, informes y generación de documentos. Con Aspose.HTML for Python via .NET, puedes cargar, modificar y guardar archivos HTML de forma segura sin edición manual. Este enfoque es especialmente útil cuando necesitas:
- Resaltar datos específicos en informes.
- Aplicar colores de marca consistentes a páginas generadas.
- Modificar plantillas HTML antes de convertirlas a PDF o imágenes.
Cambiar el color del texto en una página web es fácil con la propiedad CSS color. Hay algunas formas en que puedes establecer este valor de propiedad. Puedes usar CSS en línea, interno o externo, y los valores de color HTML pueden especificarse como los nombres de color estándar en inglés o con valores HEX, RGB, RGBA, HSL y HSLA.
Este artículo muestra cómo cambiar programáticamente el color del texto con Aspose.HTML for Python via .NET, usando tanto CSS en línea como interno.
Cambiar Color del Texto Usando CSS En Línea
En este ejemplo, establecemos el color del texto directamente en el atributo style de un elemento HTML. Esto se conoce como CSS en línea. Este método es simple e ideal para aplicar estilo rápidamente a elementos individuales.
Por ejemplo, en el siguiente fragmento de código, puedes ver cómo especificar la propiedad CSS color para el elemento HTML <p> en un archivo HTML. Sigue algunos pasos:
- Cargar un documento HTML existente usando HTMLDocument().
- Encontrar, por ejemplo, el primer elemento de párrafo
<p>para establecer un atributostyle. Usa el método get_elements_by_tag_name(name) que devuelve el primer elemento con un nombre de etiqueta dado en orden de documento. - Usa el método
set_attribute() para establecer el atributo
stylecon la propiedadcolor. - Guardar el documento HTML modificado en el directorio de salida.
1# Change HTML text color using Python
2
3import os
4import aspose.html as ah
5
6# Setup directories and define paths
7data_dir = "data"
8output_dir = "output"
9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "change-text-color-inline-css.html")
11document_path = os.path.join(data_dir, "file.html")
12
13# Create an instance of an HTML document
14with ah.HTMLDocument(document_path) as doc:
15 # Find the first paragraph element
16 paragraph = doc.get_elements_by_tag_name("p")[0]
17
18 # Set the style attribute with color property
19 paragraph.set_attribute("style", "color: #8B0000;")
20
21 # Save the modified HTML document to a file
22 doc.save(save_path)CSS en línea funciona mejor cuando quieres cambiar el estilo de elementos específicos individualmente. Como resultado, el texto del primer párrafo en el archivo HTML se recoloreará a #8B0000 color Rojo Oscuro (para ver la figura (a), por favor desplázate hacia abajo en la página).
Cambiar Color del Texto Usando CSS Interno
CSS interno es ideal cuando quieres aplicar estilos uniformes a múltiples elementos, como todos los párrafos o encabezados. En este ejemplo, agregaremos un bloque <style> a la sección <head> de un documento HTML. Este enfoque es más limpio e ideal cuando necesitas aplicar estilo a múltiples elementos consistentemente.
- Cargar un documento HTML.
- Crear un nuevo elemento
<style>y asignar el valor de color de texto para todos los elementos<p>. Usa el método create_element(local_name) que crea un elemento del tipo especificado. - Usa el método
get_elements_by_tag_name()para encontrar el elemento<head>del documento y agregar el elemento<style>a él. - Guardar el documento HTML modificado.
1# Change color for all paragraphs in HTML using Python
2
3import os
4import aspose.html as ah
5
6# Prepare an output path for saving the document
7output_dir = "output"
8os.makedirs(output_dir, exist_ok=True)
9save_path = os.path.join(output_dir, "change-text-color-internal-css.html")
10
11# Prepare a path to the source HTML file
12data_dir = "data"
13document_path = os.path.join(data_dir, "file.html")
14
15# Create an instance of an HTML document
16with ah.HTMLDocument(document_path) as doc:
17 # Create a <style> element and set CSS for the all <p> elements
18 style = doc.create_element("style")
19 style.text_content = "p { color: #8B0000 }"
20
21 # Find the <head> element and append the <style> element
22 head = doc.get_elements_by_tag_name("head")[0]
23 head.append_child(style)
24
25 # Save the modified HTML document to a file
26 doc.save(save_path)Para cambiar el color del texto, puedes usar los ejemplos de Python considerados en este artículo con elementos HTML <p>, <h1>, o <h2>, etc. Ten en cuenta que usar el atributo style (CSS en línea) anula cualquier estilo especificado en la etiqueta HTML <style> o en una hoja de estilo externa.
La figura ilustra los resultados de cambiar el color del texto según el uso del ejemplo CSS en línea (a) y el ejemplo CSS interno (b):

Cambiar Dinámicamente el Color del Texto Basado en Condición
En algunos casos, puedes necesitar cambiar dinámicamente el color del texto basado en datos, por ejemplo, para resaltar puntuaciones, alertas o advertencias. Usando Aspose.HTML for Python via .NET, puedes acceder y cambiar fácilmente elementos HTML basados en su contenido o atributos. El siguiente ejemplo demuestra cómo establecer el color del texto basado en un valor numérico:
1# Change text color based on data in HTML using Python
2
3import os
4import aspose.html as ah
5
6output_dir = "output"
7os.makedirs(output_dir, exist_ok=True)
8save_path = os.path.join(output_dir, "conditional-text-color.html")
9
10html_content = """
11<html>
12<body>
13<p>Score: 85</p>
14<p>Score: 42</p>
15<p>Score: 73</p>
16</body>
17</html>
18"""
19
20# Initialize the HTML document
21with ah.HTMLDocument(html_content, ".") as doc:
22 paragraphs = doc.get_elements_by_tag_name("p")
23
24 for p in paragraphs:
25 text = p.text_content
26 score = int(text.split(":")[1].strip())
27
28 # Apply color conditionally
29 color = "green" if score >= 70 else "red"
30 p.set_attribute("style", f"color: {color};")
31
32 # Save the modified document
33 doc.save(save_path)El código lee los valores de texto de un párrafo. Extrae la puntuación numérica y la compara con un valor de referencia. Cada elemento <p> obtiene un estilo aplicado dinámicamente basado en esa condición. Esta técnica es útil cuando creas informes o visualizaciones de datos en HTML, haciendo la salida más legible y visualmente comprensible.

Mejores Prácticas
- Siempre define colores en formatos seguros para la web (HEX, RGB o HSL).
- Evita colores demasiado saturados para el texto; usa suficiente contraste para legibilidad.
- Usa CSS en línea para crear estilos únicos y CSS interno para mantener un estilo consistente en múltiples elementos.
- Usa convertidores Aspose.HTML para exportar HTML con estilo a PDF, XPS, DOCX o imágenes.
Preguntas Frecuentes
1. ¿Cuál es la diferencia entre CSS en línea e interno?
CSS en línea se aplica directamente a un solo elemento usando el atributo style, mientras que CSS interno se aplica a múltiples elementos a través del bloque <style> dentro del <head>.
2. ¿Por qué no cambia el color del texto en la salida?
Asegúrate de que el selector de elemento esté especificado correctamente (por ejemplo, “p” para párrafo). Además, por favor verifica que la estructura de tu documento HTML incluya el elemento objetivo y que los estilos con mayor prioridad no lo anulen.
3. ¿Puedo usar valores RGB o HSL en lugar de HEX?
Sí. La propiedad color acepta todos los formatos de color CSS: nombres de color, HEX (#8B0000), RGB (rgb(139,0,0)), RGBA, HSL y HSLA.
Ver También
- Trabajar con Color HTML – En este artículo, encontrarás ejemplos de código HTML de cómo cambiar el color del texto.
- ¿Cómo cambiar el color de fondo? – En este artículo, explorarás cómo cambiar el color de fondo para texto en párrafos o páginas enteras usando Aspose.HTML for Python via .NET.
- ¿Cómo cambiar el color del borde? – Este artículo te brinda información y ejemplos de Python sobre cómo agregar o cambiar el color del borde para tu texto en un archivo HTML. Ejemplos paso a paso, consejos de CSS y soluciones a problemas comunes de estilo.
- Códigos de Color HTML – En este artículo, encontrarás información sobre códigos de color HTML para tu sitio web – nombres de color HTML, códigos de color HEX, valores RGB, RGBA, HSL y HSLA.
Puedes descargar los ejemplos completos y archivos de datos desde GitHub.
