128 votes

HTML : Changer la couleur de certains mots dans une chaîne de texte

J'ai le message suivant (légèrement modifié) :

"Participez au concours avant le 30 janvier 2011 et vous pourriez gagner jusqu'à $$$$ - y compris des voyages d'été extraordinaires !"

J'ai actuellement :

<p style="font-size:14px; color:#538b01; font-weight:bold; font-style:italic;">

vous mettez en forme la chaîne de texte, mais vous voulez changer la couleur de "30 janvier 2011" en #FF0000 et de "été" en #0000A0.

Comment puis-je faire cela strictement avec du HTML ou du CSS en ligne ?

171voto

Jacob Points 33729
<p style="font-size:14px; color:#538b01; font-weight:bold; font-style:italic;">
  Enter the competition by 
  <span style="color: #ff0000">January 30, 2011</span>
  and you could win up to $$$$ — including amazing 
  <span style="color: #0000a0">summer</span> 
  trips!
</p>

Vous pouvez aussi utiliser des classes CSS à la place :

<html>
  <head>
    <style type="text/css">
      p { 
        font-size:14px; 
        color:#538b01; 
        font-weight:bold; 
        font-style:italic;
      }
      .date {
        color: #ff0000;
      }
      .season { /* OK, a bit contrived... */
        color: #0000a0;
      }
    </style>
  </head>
  <body>
    <p>
      Enter the competition by 
      <span class="date">January 30, 2011</span>
      and you could win up to $$$$ — including amazing 
      <span class="season">summer</span> 
      trips!
    </p>
  </body>
</html>

1 votes

C'est une excellente réponse ! Elle démontre facilement que les points représentent des balises à l'intérieur des balises de paragraphe. Cela clarifie vraiment cette information pour toute personne travaillant avec <style>.

60voto

Juan Pablo Pinedo Points 283

Vous pouvez utiliser la balise HTML5 <mark> :

<p>Enter the competition by 
<mark class="red">January 30, 2011</mark> and you could win up to $$$$ — including amazing 
<mark class="blue">summer</mark> trips!</p>

Et utilisez ceci dans le CSS :

p {
    font-size:14px;
    color:#538b01;
    font-weight:bold;
    font-style:italic;
}

mark.red {
    color:#ff0000;
    background: none;
}

mark.blue {
    color:#0000A0;
    background: none;
}

L'étiquette <mark> a une couleur de fond par défaut... du moins dans Chrome.

3 votes

Il est dommage que la réponse n'ait pas été attribuée. Je l'aurais bien attribuée à ceci (et fie à ceux qui utilisent des navigateurs qui ne supportent pas le HTML (y en a-t-il encore ?))

0 votes

Une solution simple et efficace qui ne fait ni plus ni moins que ce que le PO a demandé.

5 votes

La balise mark n'est pas destinée à être utilisée pour le formatage.

39voto

Damien-at-SF Points 2794
<p style="font-size:14px; color:#538b01; font-weight:bold; font-style:italic;">
    Enter the competition by <span style="color:#FF0000">January 30, 2011</span> and you could win up to $$$$ — including amazing <span style="color:#0000A0">summer</span> trips!
</p>

Les éléments span sont en ligne et n'interrompent donc pas le flux du paragraphe, mais se placent entre les balises.

27voto

brian_d Points 6783

Utiliser des travées. ex) <span style='color: #FF0000;'>January 30, 2011</span>

25voto

user8588011 Points 221
<font color="red">This is some text!</font> 

C'est ce qui a le mieux fonctionné pour moi lorsque j'ai voulu changer un seul mot en couleur rouge dans une phrase.

0 votes

<font color="red">C'est du texte!</font>

11 votes

Cette fonction n'est pas prise en charge par HTML 5.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X