È una sospensione dai tempi di Netscape:
Le cifre mancanti vengono trattate come 0 [...]. Una cifra errata viene semplicemente interpretata come 0. Ad esempio i valori # F0F0F0, F0F0F0, F0F0F, #FxFxFx e FxFxFx sono tutti uguali.
Viene dal post del blog Un po 'di entusiasmo sull'analisi dei colori di Microsoft Internet Explorer che lo copre in modo molto dettagliato, comprese le lunghezze variabili dei valori di colore, ecc.
Se applichiamo le regole a turno dal post del blog, otteniamo quanto segue:
Sostituisci tutti i caratteri esadecimali non validi con 0
chucknorris becomes c00c0000000
Riempi il prossimo numero totale di caratteri divisibili per 3 (11 -> 12)
c00c 0000 0000
Dividi in tre gruppi uguali, con ogni componente che rappresenta il componente colore corrispondente di un colore RGB:
RGB (c00c, 0000, 0000)
Troncare ciascuno degli argomenti da destra fino a due caratteri
Che dà il seguente risultato:
RGB (c0, 00, 00) = #C00000 or RGB(192, 0, 0)
Ecco un esempio che dimostra l' bgcolor
attributo in azione, per produrre questo "fantastico" campione di colori:
<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>
Questo risponde anche all'altra parte della domanda; perché bgcolor="chucknorr"
produce un colore giallo? Bene, se applichiamo le regole, la stringa è:
c00c00000 => c00 c00 000 => c0 c0 00 [RGB(192, 192, 0)]
Che dà un colore giallo oro chiaro. Quando la stringa inizia con 9 caratteri, questa volta manteniamo la seconda C quindi finisce nel valore del colore finale.
Inizialmente ho riscontrato questo quando qualcuno ha sottolineato che potresti fare color="crap"
e, beh, diventa marrone.
bgcolor
. Usa CSSbackground
.