Это пережиток дней Netscape:
Недостающие цифры обрабатываются как 0 [...]. Неправильная цифра просто интерпретируется как 0. Например, значения # F0F0F0, F0F0F0, F0F0F, #FxFxFx и FxFxFx являются одинаковыми.
Это из поста в блоге . Немного рассуждаю о разборе цвета в Microsoft Internet Explorer, который подробно описывает его, в том числе различную длину значений цвета и т. Д.
Если мы применяем правила по очереди из поста в блоге, мы получаем следующее:
Заменить все недействительные шестнадцатеричные символы на 0
chucknorris becomes c00c0000000
Заполните следующее общее количество символов, делимое на 3 (11 -> 12)
c00c 0000 0000
Разделить на три равные группы, где каждый компонент представляет соответствующий компонент цвета цвета RGB:
RGB (c00c, 0000, 0000)
Обрезать каждый из аргументов справа вниз до двух символов
Что дает следующий результат:
RGB (c0, 00, 00) = #C00000 or RGB(192, 0, 0)
Вот пример, демонстрирующий bgcolor
атрибут в действии, для создания этого «удивительного» образца цвета:
<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>
Это также отвечает на другую часть вопроса; почему bgcolor="chucknorr"
производит желтый цвет? Хорошо, если мы применяем правила, строка выглядит так:
c00c00000 => c00 c00 000 => c0 c0 00 [RGB(192, 192, 0)]
Что дает светло-желтый цвет золота. Поскольку строка начинается с 9 символов, мы сохраняем второй символ C на этот раз, поэтому она заканчивается в конечном значении цвета.
Первоначально я столкнулся с этим, когда кто-то указал, что вы можете сделать, color="crap"
и, ну, это выходит коричневым.
bgcolor
. Используйте CSSbackground
.