58 votes

Puis-je styliser le texte ALT d'une image avec CSS ?

J'ai une page bleu foncé et lorsque l'image se charge (ou manque), le texte ALT est noir et difficile à lire (dans FF).

Pourrais-je le styliser (avec CSS) pour qu'il soit blanc ?

81voto

MikeM Points 14711

Fixer le img étiquette color travaux

img {color:#fff}

http://jsfiddle.net/YEkAt/

body {background:#000022}
img {color:#fff}

<img src="http://badsrc.com/blah" alt="BLAH BLAH BLAH" />

7 votes

J'avais l'habitude de faire ça quand j'avais 9 ans avec <font color="#FFFFFF"><img ...></font> . C'était le bon temps.

15voto

Wesley Murch Points 48959

Bien sûr que vous pouvez !

http://jsfiddle.net/VfTGW/

Je fais cela comme solution de repli pour les images du logo de l'en-tête, je pense que certaines versions d'IE ne le supporteront pas. Modifier : Ou Chrome apparemment - je n'ai même pas voir alt text dans la démo( ?). Firefox fonctionne bien cependant.

img {
  color: green;
  font: 40px Impact;
}

<img src="404" alt="Alt Text">

1 votes

Depuis 2018, je le vois bien dans Chrome aussi. Une chose que je remarque est que la décoration du texte n'est pas applicable dans tous les navigateurs que j'ai vérifiés.

5voto

Jake Dempsey Points 2967

Vous ne pouvez pas donner un style à l'attribut alt directement en css. Cependant, l'attribut alt hérite des styles de l'élément sur lequel il se trouve ou de ce qui est hérité par son parent :

    <div style="background-color:black; height: 50px; width: 50px; color:white;">
    <img src="ouch" alt="here i am"/>
    <div>

Dans l'exemple ci-dessus, le texte alt sera noir. Cependant, avec l'option color:white, le texte alt est blanc.

1voto

searching9x Points 166

Dans Firefox et Chrome (et peut-être plus), nous pouvons insérer la chaîne "( .... )" dans le texte alt d'une image qui n'a pas été chargée.

img {
  font-style: italic;
  color: #c00;
}

img:after {
  content: " (Image - Right click to reload if not loaded)";
}

img::after {
  content: " (Image - Right click to reload if not loaded)";
}

<img alt="Alt text - " />

-3voto

katsampu Points 17

Vous pouvez utiliser img[alt] {styles} pour styliser uniquement le texte alternatif.

3 votes

Cette opération ne porte pas sur le texte alternatif, mais sur tout élément d'image contenant l'attribut alt-attribute.

0 votes

Vous pouvez utiliser une classe sur l'image ou une expression régulière sur src pour cibler l'image spécifique. Simple css mon ami.

2 votes

Katsampu, la question initiale portait sur le ciblage du texte alternatif. Dans votre réponse, vous parlez de "styliser uniquement le texte alternatif". Cette affirmation est incorrecte. Cela ne cible pas le texte, mais l'élément image qui l'entoure. Si je définis img[alt]{border:1px solid red;padding:10px;}, ces modifications affectent l'image elle-même, pas le texte alternatif. Certains changements peuvent être hérités dans le texte alt également (en fonction de l'implémentation du navigateur). Mais il n'y a pas que le texte alt qui soit stylé, comme vous l'avez dit. Il ne modifie que les éléments d'image qui ont un attribut alt text. Vous voyez la différence ?

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