2016-08-31 5 views
0

一部の人々は未定義のカスタム要素をすべて使用しないという技術的な理由はありますか?

<app-homepage>[...]</app-homepage> 

として

<div id="homepage">[...]</div> 

を書き換えたいように見えるが、これを行うにはない技術的または仕様関連する理由はありますか?私がHTMLとCSSのレベルでこれを変えることについて純粋に話していることを覚えておいてください。要素はカスタム要素APIを使用して定義されていません。

+0

です。ターゲットブラウザが分かっていて、コードを再配布しない場合は問題ありません。そうでなければいいえ。 http://stackoverflow.com/q/27853049/4600982 – Supersharp

答えて

0

Tl; dr:しないでください。カスタム要素仕様を使用して、その仕様を作成します。あなたのHTML構文をハッキングすることは、それが何のために作られたものではありません。一般的に、すべてのカスタム要素の

セマンティクス

まずDOM構造のセマンティクスを破ることができます。カスタム要素が適切に使用されると、大きな利益を受け取りますが、この方法では何のメリットもなくセマンティクスを放棄します。そのような要素は、(「未定義」

のカスタム要素の状態を持っていない仕様の代わりにカスタム要素によるなど<header><article>

未定義のカスタム要素状態

のような適切なHTML5要素を使います

ここで、HTML仕様が認識されないすべての要素を動作させる方法は、定義されていないデフォルトのHTML要素インスタンス。

カスタム要素仕様までは、将来のバージョンのHTMLで実装される危険性があるため、このような要素を定義することは非常に危険でしたが、-を持つすべての要素はカスタム要素用に予約されています。

あなたは完全に安全であることを意味しますか?いいえ、あなたは他のすべてのカスタム要素と同じ名前空間にいます。あなたはこのような何かをしたい場合は、

<my-app-name-homepage>[...]</my-app-name-homepage> 

のようなコードを記述する必要がありますし、それでもあなたはまだ undefinedを持つ要素で終わるように、外部スタイルシートとは異なり、それらを名前空間に何の適切な方法は、ありません状態。

関連する問題