Es un remanente de los días de Netscape:
Los dígitos faltantes se tratan como 0 [...]. Un dígito incorrecto simplemente se interpreta como 0. Por ejemplo, los valores # F0F0F0, F0F0F0, F0F0F, #FxFxFx y FxFxFx son todos iguales.
Es de la publicación del blog Un pequeño comentario sobre el análisis de color de Microsoft Internet Explorer que lo cubre con gran detalle, incluyendo diferentes longitudes de valores de color, etc.
Si aplicamos las reglas a su vez desde la publicación del blog, obtenemos lo siguiente:
Reemplace todos los caracteres hexadecimales no válidos con ceros
chucknorris becomes c00c0000000
Llegue al siguiente número total de caracteres divisibles por 3 (11 -> 12)
c00c 0000 0000
Divídase en tres grupos iguales, con cada componente representando el componente de color correspondiente de un color RGB:
RGB (c00c, 0000, 0000)
Trunca cada uno de los argumentos de la derecha a dos caracteres.
Lo que da el siguiente resultado:
RGB (c0, 00, 00) = #C00000 or RGB(192, 0, 0)
Aquí hay un ejemplo que demuestra el bgcolor
atributo en acción, para producir esta muestra de color "sorprendente":
<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>
Esto también responde a la otra parte de la pregunta; ¿Por qué bgcolor="chucknorr"
produce un color amarillo? Bueno, si aplicamos las reglas, la cadena es:
c00c00000 => c00 c00 000 => c0 c0 00 [RGB(192, 192, 0)]
Lo que da un color dorado amarillo claro. A medida que la cadena comienza como 9 caracteres, mantenemos la segunda C esta vez, por lo tanto, termina en el valor de color final.
Originalmente me encontré con esto cuando alguien señaló que podías hacerlo color="crap"
y, bueno, sale marrón.
bgcolor
. Utiliza CSSbackground
.