授業でいろいろ試していたところ、CSS が作られた要素でも機能することを知りました。
例:
imsocool {
color:blue;
}
<imsocool>HELLO</imsocool>
教授は私がこれを使っているのを初めて見たとき、架空の要素が機能していることに少し驚き、私が架空の要素をすべて ID 付きの段落に変更することを勧めました。
なぜ教授は私が架空の要素を使うことを望まないのでしょうか? それらは効果的に機能します。
また、なぜ彼は、作られた要素が存在し、CSS で機能することを知らなかったのでしょうか。それらは珍しいのでしょうか?
ベストアンサー1
CSS が偽の要素で機能するのはなぜですか?
(ほとんどの) ブラウザは、HTML の将来の追加に対して (ある程度) 前方互換性を持つように設計されています。認識されない要素は DOM に解析されますが、それらに関連するセマンティクスや特殊なデフォルト レンダリングはありません。
仕様に新しい要素が追加されると、CSS、JavaScript、ARIA を使用して、古いブラウザで同じ機能を提供できる場合があります (また、それらの言語で要素を操作して機能を追加できるようにするには、要素が DOM 内に表示されている必要があります)。
(仕様はカスタム要素ただし、特定の命名要件があり、JavaScript を使用して登録する必要があります。
なぜ教授は架空の要素を使うことを望まないのでしょうか?
- HTML仕様では許可されていない
- 将来同じ名前の標準要素と競合する可能性がある
- おそらく、このタスクに適した既存のHTML要素があるでしょう。
また、なぜ彼は、作られた要素が存在し、CSS で機能することを知らなかったのでしょうか。それらは珍しいのでしょうか?
はい。上記の問題があるので、人々はそれらを使用しません。