1 ポイント 投稿者 GN⁺ 2024-12-21 | 1件のコメント | WhatsAppで共有
  • Webページでテキストの色を設定する

    • 一般的には、CSS の color プロパティを使って Web ページのテキスト色を設定する。
    • しかし、HTML だけを使って色を定義する方法もある。
  • HTML の color 属性

    • 過去の HTML バージョンでは、color 属性を使ってテキスト色を設定できた。
    • たとえば <font color="#d72b2b">HTMHell rules!</font> のように使う。
    • ブラウザでこのコードを実行すると、テキストは赤色で表示される。
  • 不正な色の値の処理

    • HTML には一般的にエラー状態がなく、ブラウザは不正な値でもできる限り処理しようとする。
    • たとえば <font color="chucknorris"> のような不正な色の値でも、ブラウザは赤色として処理する。
  • 色の値のパース規則

    • 初期処理: 値の先頭にある # を取り除く。
    • 不正な文字の置換: 0-9 または A-F/a-f 以外の文字は 0 に置き換える。
    • 長さの標準化: 文字列の長さが 0、または 3 の倍数でない場合は 0 を追加する。
    • RGB への分割: 文字列を 3 つの部分に分け、それぞれを赤・緑・青の値として使う。
    • 長さの処理: 各構成要素の長さが 8 文字を超える場合は左側から削る。
    • 最終色の生成: 最終的な赤・緑・青の値を組み合わせて色を生成する。
  • 現代のブラウザにおける色の処理

    • CSS は不正な色の値を処理するとき、値を拒否するのではなく補正する。
    • たとえば rgb(300, -50, 1000)rgb(255, 0, 255) に変換される。
  • Web の柔軟性

    • Web は柔軟性を基盤として構築されており、そのおかげで 1996 年の Web サイトも現代のブラウザでレンダリングできる。
    • 完璧な Web は退屈かもしれず、Web はさまざまな入力を処理できるべきだ。
  • 参考資料

    • HTML 標準と色のパースに関する追加情報が提供されている。

1件のコメント

 
GN⁺ 2024-12-21
Hacker Newsの意見
  • この記事は、13年前のStack Overflowの質問内容を再利用したもののようだ

    • インターネットで生まれた面白いものは、マーケティングに利用されるだろう
    • 古参のRedditユーザーやフォーラム投稿者が、自分たちの作業から生まれた価値を得られなかったのは残念だ
    • 少なくとも記事の最後で参照されている点は良い
  • chocolate#c0c0a0 に縮まる結果が気に入っている

  • 文章は良かったが、著者は間違えている: chucknorris は赤色としてレンダリングされるのではなく、赤色が chucknorris としてレンダリングされる

  • Webの寛容な性質が好きだ

    • TypeScriptのような厳格さは、ビジネスや作業には良い
    • HTML、CSS、JavaScriptの寛容な性質が、多くの採用を導いた
    • Rustが多くの問題に直面しているのを見ると、言語の問題ではなくエコシステムの規模の問題なのかもしれない
    • 厳格さと完全性を求めるなら、ネイティブアプリケーションが適している
    • Webは非常に高速にレンダリングされる
  • Chuck Norrisは色ではない

    • ブラウザはそれを指摘するのを恐れている
  • o0 に置き換えられる

    • 例: coffee#c0ffee に変換される
    • baobab#ba0babdecode#dec0de に変換される
  • ブラウザはもっと寛容でなく、完全性を強制すべきだという意見がある

    • 完全なWebは退屈だろう
    • Webでは、何であれ動くようにすることが重要だ
    • 標準に対する不一致を防ぐことが重要だ
  • 対応する色名は、数字に名前を付けるようなものだ

    • これをゲームにした
  • 寛容な態度がコンピュータ犯罪を可能にしているという点には同意する

    • セキュリティは重要な代償だ
    • レトロ技術の愛好家は、サンドボックス化されたVMで旧式のWebブラウザを動かせる
  • 意図しない赤色への変換かもしれない