私はジュニアを教えています。高校/高校のWebプログラミングクラスです。CSSに進む前に、フォントや色などの単純な要素と属性から始めます。色が廃止され、フォントがHTML5に含まれていないことは知っていますが、教育目的では、単純なHTMLタグから始めて、CSSに進むのが便利だと思います。授業の最初の週にページの色を変えることができることで、生徒たちは大きな喜びを得ることができます。(私はまた、1週目にマーキーとブリンクを教えますが、彼らが再びそれらを使用すると、ポイントを失うことを彼らに知らせます)。
生徒の1人は、「スキットルズ」や「スパイダーマン」など、色属性値に奇妙なものを入れて宿題を提出し始めました。私はこれを試し始めましたが、フォントタグのcolor = ""属性に入力したほぼすべてのものが、ある種の色を生成することを発見しました。また、IE、Firefox、Chrome、Opera、Safariの最新バージョン間で色が一貫しているようです。
「LuckyCharms」をCSSカラーとして入れても機能しないことを発見しました。これは、HTML属性で色が期待される場合にのみ機能するようです。たとえば、fontcolor="LuckyCharms"やbodybgcolor="LuckyCharms"などです。
なぜこれが起こるのかをクラスに説明しようとしていますが、これまでのところ、それを理解することができませんでした。または、Googleに良い答えを与えることができませんでした。カラーコードとして解釈されているように見えますが、どうしたらいいのかわかりません。
更新:試行錯誤の末、ほとんどすべての文字列を対応する16進色に変換するために、(提供されているリンクを使用して)5ステップのアルゴリズムを決定しました。ここでは、将来の訪問者を啓蒙するためのアルゴリズムを提供します。
- 16進以外の各文字を0に変更します。
- 文字列の長さが3の倍数になるまで、文字列に0を追加します。
- 文字列を3等分します。
- サブ文字列の長さが2より長く、3つのサブ文字列すべてが0で始まる場合は、各文字列から先頭の0を削除します。
- サブ文字列の長さがまだ2より大きい場合は、各サブ文字列を2文字に切り捨てます。
これで、サブストリングをまとめると、16進カラーコードが得られます。このアルゴリズムを約20の異なるサンプルで検証し、FirefoxColorZillaアドオンカラーピッカーを使用して結果を比較しました。
この場合、ルールは実際、回答の1つで指定されたリンクに具体的に記載されており、すべてのブラウザーで順守されることに注意してください。したがって、これはどのブラウザでも機能することを期待できるものです(本当に面白い色の名前を使用したい場合)。