51

ダッシュを使用せずに独自のカスタム要素<date><person>、またはその他の名前を付けることは可能ですか? <city>それらなしでdefine要素を使用できますか?

4

1 に答える 1

87

すべてのブラウザは、「既知」と見なされる 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 を使用して通常の要素ごとにスタイルを設定できるというハックが発生しました。

于 2014-03-20T21:34:50.120 に答える