質問: なぜhtmlは "chucknorris"は色だと思いますか? htmlで背景色として入力したときに、特定のランダムな文字列が色を生成するのはどうしてですか?例えば: <body bgcolor="chucknorris"> test </body> ...すべてのブラウザとプラットフォームで、 赤い背景 のドキュメントが生成されます。興味深いことに、chucknorriは赤の背景も生成しますが、chucknorrは黄色の背景を生成します。何が起きてる?
回答: これは、netscapeの時代からの延期です。 欠けている数字は0 [...]として扱われます。たとえば、#f0f0f0、f0f0f0、f0f0f、#fxfxfx、fxfxfxの値はすべて同じです。 これはブログの投稿からです。 microsoft internet explorerの色解析について少し学びました さまざまな長さの色の値など、詳細に説明されています。ブログ投稿から順番にルールを適用すると、次のようになります。 無効な16進文字をすべて0に置き換えます。 chucknorris becomes c00c0000000 3で割り切れる次の合計文字数までパディングします(11 - > 12)。 c00c 0000 0000 各成分がrgbカラーの対応するカラー成分を表すように、3つの等しいグループに分割します。 rgb (c00c, 0000, 0000) 各引数を右から2文字に切り捨てます これにより、次の結果が得られます。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文字から始まるので、今回は2番目のcを保持して、最終的な色の値にします。誰かがあなたがcolor="crap"をすることができると指摘したとき、私はもともとこれに遭遇しました、そして、まあ、それは茶色になります。