C'est un vestige de l'époque de Netscape :
Les chiffres manquants sont traités comme des 0[...]. Un chiffre incorrect est simplement interprété comme 0. Par exemple, les valeurs #F0F0F0, F0F0F0, F0F0F, #FxFxFx et FxFxFx sont toutes identiques.
Il s'agit de l'article du blog Un petit coup de gueule sur l'analyse des couleurs de Microsoft Internet Explorer qui le couvre de manière très détaillée, y compris les longueurs variables des valeurs de couleur, etc.
Si nous appliquons tour à tour les règles de l'article du blog, nous obtenons ce qui suit :
-
Remplacer tous les caractères hexadécimaux non valides par des 0 :
chucknorris becomes c00c0000000
-
Remplir jusqu'au prochain nombre total de caractères divisible par 3 (11 → 12) :
c00c 0000 0000
-
Répartis en trois groupes égaux, chaque composant représentant la composante correspondante d'une couleur RVB :
RGB (c00c, 0000, 0000)
-
Tronquez chacun des arguments de droite à deux caractères.
Ce qui, finalement, donne le résultat suivant :
RGB (c0, 00, 00) = #C00000 or RGB(192, 0, 0)
Voici un exemple démontrant la bgcolor
en action, pour produire cet échantillon de couleur "étonnant" :
<table>
<tr>
<td bgcolor="chucknorris" cellpadding="8" width="100" align="center">chuck norris</td>
<td bgcolor="mrt" cellpadding="8" width="100" align="center" style="color:#ffffff">Mr T</td>
<td bgcolor="ninjaturtle" cellpadding="8" width="100" align="center" style="color:#ffffff">ninjaturtle</td>
</tr>
<tr>
<td bgcolor="sick" cellpadding="8" width="100" align="center">sick</td>
<td bgcolor="crap" cellpadding="8" width="100" align="center">crap</td>
<td bgcolor="grass" cellpadding="8" width="100" align="center">grass</td>
</tr>
</table>
Cela répond également à l'autre partie de la question : Pourquoi est-ce que bgcolor="chucknorr"
produisent une couleur jaune ? Eh bien, si nous appliquons les règles, la chaîne est :
c00c00000 => c00 c00 000 => c0 c0 00 [RGB(192, 192, 0)]
Ce qui donne une couleur jaune or clair. Comme la chaîne commence par 9 caractères, nous gardons le deuxième "C" cette fois-ci, ce qui fait qu'il se retrouve dans la valeur finale de la couleur.
J'ai rencontré ce problème à l'origine lorsque quelqu'un m'a fait remarquer qu'on pouvait faire color="crap"
et, eh bien, ça ressort brun.
216 votes
À titre d'information, n'utilisez pas
bgcolor
. Utiliser CSSbackground
.154 votes
@masterFly : Je ne sais pas pourquoi mon commentaire sous la réponse acceptée a été supprimé pour être "non constructif", car il répond assez bien à votre question : les gens expérimentent ces choses tout le temps. Je n'avais que 10 ans quand j'ai découvert cela et tout ce que je faisais à l'époque était de m'amuser et de voir ce qui se passait. Il n'est pas toujours nécessaire d'avoir une raison pratique pour faire quelque chose, surtout quelque chose d'aussi frivole que ça.
17 votes
@pyb : Cette chose est déjà une blague de Chuck Norris à elle seule, tu ne crois pas ?