ダッシュを使用せずに独自のカスタム要素<date>
、<person>
、またはその他の名前を付けることは可能ですか? <city>
それらなしでdefine要素を使用できますか?
1 に答える
すべてのブラウザは、「既知」と見なされる HTML 要素の有限リストをサポートしています。不明な要素 (<city>
など<person>
) は、通常、最新のブラウザーの HTML パーサーでエラーをスローせず、代わりに から継承しHTMLUnknownElement
ます。ただし、古いバージョンの IE では、そのような要素は、子を持たない空のノードとして DOM に挿入されます (1)。
カスタム要素の仕様では、すべてのカスタム要素-
の名前にハイフン ( ) が含まれている必要があります。ではなく、or<person>
を使用します。これらは有効な名前ですが、> は不明な要素と見なされます。<my-person>
<x-person>
<person
ダッシュにより、HTML パーサーは真のカスタム要素と通常の要素の違いを効果的に識別できます。また、標準化グループが HTML に新しいタグを追加するときに、将来の機能のレベルを有効にすることもできます。
次の例外を除いて、ハイフンで区切られた任意の名前を使用できます。
annotation-xml
color-profile
font-face
font-face-src
font-face-uri
font-face-format
font-face-name
missing-glyph
私の知る限り、これらの名前は SVG、MathML、およびその他の仕様の予約名です。たとえば、要素に関する詳細情報は次のとおりです。<font-face>
(1) これにより、開発者が JavaScript を使用して IE でダミーの HTML5 タグ (例: <article>
) を作成し、CSS を使用して通常の要素ごとにスタイルを設定できるというハックが発生しました。