Comment Changer la Couleur du Texte en HTML en Utilisant Python – Exemples de CSS En Ligne et Interne

Pourquoi Changer la Couleur du Texte Programmatiquement ?

Changer dynamiquement la couleur du texte est une tâche courante dans l’automatisation web, les rapports et la génération de documents. Avec Aspose.HTML for Python via .NET, vous pouvez charger, modifier et sauvegarder des fichiers HTML en toute sécurité sans édition manuelle. Cette approche est particulièrement utile lorsque vous avez besoin de :

Changer la couleur du texte sur une page web est facile avec la propriété CSS color. Il existe quelques façons de définir cette valeur de propriété. Vous pouvez utiliser CSS en ligne, interne ou externe, et les valeurs de couleur HTML peuvent être spécifiées comme les noms de couleur standard anglais ou avec des valeurs HEX, RGB, RGBA, HSL et HSLA.

Cet article montre comment changer programmatiquement la couleur du texte avec Aspose.HTML for Python via .NET, en utilisant à la fois CSS en ligne et interne.

Changer la Couleur du Texte en Utilisant CSS En Ligne

Dans cet exemple, nous définissons la couleur du texte directement dans l’attribut style d’un élément HTML. Ceci est connu sous le nom de CSS en ligne. Cette méthode est simple et idéale pour appliquer rapidement un style à des éléments individuels.

Par exemple, dans l’extrait de code suivant, vous pouvez voir comment spécifier la propriété CSS color pour l’élément HTML <p> dans un fichier HTML. Suivez quelques étapes :

  1. Charger un document HTML existant en utilisant HTMLDocument().
  2. Trouver, par exemple, le premier élément de paragraphe <p> pour définir un attribut style. Utilisez la méthode get_elements_by_tag_name(name) qui renvoie le premier élément avec un nom d’étiquette donné dans l’ordre du document.
  3. Utilisez la méthode set_attribute() pour définir l’attribut style avec la propriété color.
  4. Sauvegarder le document HTML modifié dans le répertoire de sortie.
 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 ligne fonctionne mieux lorsque vous souhaitez changer le style d’éléments spécifiques individuellement. En conséquence, le texte du premier paragraphe dans le fichier HTML sera recoloré en #8B0000 couleur Rouge Foncé (pour voir la figure (a), veuillez faire défiler la page vers le bas).

Changer la Couleur du Texte en Utilisant CSS Interne

CSS interne est idéal lorsque vous souhaitez appliquer des styles uniformes à plusieurs éléments, comme tous les paragraphes ou en-têtes. Dans cet exemple, nous ajouterons un bloc <style> à la section <head> d’un document HTML. Cette approche est plus propre et idéale lorsque vous avez besoin d’appliquer un style à plusieurs éléments de manière cohérente.

  1. Charger un document HTML.
  2. Créer un nouvel élément <style> et assigner la valeur de couleur de texte pour tous les éléments <p>. Utilisez la méthode create_element(local_name) qui crée un élément du type spécifié.
  3. Utilisez la méthode get_elements_by_tag_name() pour trouver l’élément <head> du document et ajouter l’élément <style> à celui-ci.
  4. Sauvegarder le document HTML modifié.
 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)

Pour changer la couleur du texte, vous pouvez utiliser les exemples Python considérés dans cet article avec des éléments HTML <p>, <h1>, ou <h2>, etc. Gardez à l’esprit que l’utilisation de l’attribut style (CSS en ligne) remplace tout style spécifié dans la balise HTML <style> ou dans une feuille de style externe.

La figure illustre les résultats du changement de couleur du texte selon l’utilisation de l’exemple CSS en ligne (a) et de l’exemple CSS interne (b) :

Texte “Deux fragments du document HTML avec texte de paragraphe coloré.”

Changer Dynamiquement la Couleur du Texte Basé sur une Condition

Dans certains cas, vous pouvez avoir besoin de changer dynamiquement la couleur du texte basé sur des données, par exemple, pour mettre en évidence des scores, des alertes ou des avertissements. En utilisant Aspose.HTML for Python via .NET, vous pouvez facilement accéder et changer des éléments HTML basés sur leur contenu ou attributs. L’exemple suivant démontre comment définir la couleur du texte basé sur une valeur numérique :

 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)

Le code lit les valeurs de texte d’un paragraphe. Il extrait le score numérique et le compare à une valeur de référence. Chaque élément <p> obtient un style appliqué dynamiquement basé sur cette condition. Cette technique est utile lorsque vous créez des rapports ou des visualisations de données en HTML, rendant la sortie plus lisible et visuellement compréhensible.

Texte “Scores : 85 (vert), 42 (rouge), 73 (vert).”

Meilleures Pratiques

Questions Fréquemment Posées

1. Quelle est la différence entre CSS en ligne et interne ?
CSS en ligne est appliqué directement à un seul élément en utilisant l’attribut style, tandis que CSS interne est appliqué à plusieurs éléments via le bloc <style> à l’intérieur du <head>.

2. Pourquoi la couleur du texte ne change-t-elle pas dans la sortie ?
Assurez-vous que le sélecteur d’élément est spécifié correctement (par exemple, “p” pour paragraphe). Aussi, veuillez vérifier que la structure de votre document HTML inclut l’élément cible et que les styles avec une priorité plus élevée ne le remplacent pas.

3. Puis-je utiliser des valeurs RGB ou HSL au lieu de HEX ?
Oui. La propriété color accepte tous les formats de couleur CSS : noms de couleur, HEX (#8B0000), RGB (rgb(139,0,0)), RGBA, HSL et HSLA.

Voir Aussi

  • Travailler avec la Couleur HTML – Dans cet article, vous trouverez des exemples de code HTML sur la façon de changer la couleur du texte.
  • Comment changer la couleur d’arrière-plan ? – Dans cet article, vous explorerez comment changer la couleur d’arrière-plan pour le texte dans les paragraphes ou les pages entières en utilisant Aspose.HTML for Python via .NET.
  • Comment changer la couleur de la bordure ? – Cet article vous donne des informations et des exemples Python sur la façon d’ajouter ou de changer la couleur de la bordure pour votre texte dans un fichier HTML. Exemples étape par étape, conseils CSS et solutions aux problèmes de style courants.
  • Codes de Couleur HTML – Dans cet article, vous trouverez des informations sur les codes de couleur HTML pour votre site web – noms de couleur HTML, codes de couleur HEX, valeurs RGB, RGBA, HSL et HSLA.

Vous pouvez télécharger les exemples complets et les fichiers de données depuis GitHub.

Texte “Applications Web HTML”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.