回答:
タグは、常にタグ近い記号で閉じなければならない>
(私たちは名目上非XHTML HTMLに適用する特定のSGMLのルールを無視しますが、ブラウザに実装されなかった場合)。
質問することは、要素を終了タグで閉じる必要があるかどうかです。その答えは、XHTML以外のHTML(HTMLシリアライゼーションのHTML5を含む)であり、meta
およびlink
要素に終了タグは必要ないか、許可されないということです。ただし実際には、ブラウザーは明示的な終了タグと、それらを使用する場合は/
before カーゴカルトを無視>
します。また、HTML5では/
、HTMLでのシリアル化も正式に許可することで、この許容性を規定しています。
XHTMLではXMLルールが適用されるため、すべての要素には例外なく開始タグと終了タグの両方が必要ですが、要素のコンテンツが空の場合、たとえばの<meta name="foo" content="bar"/>
ように、同じタグを両方のロールに使用できます<meta name="foo" content="bar"></meta>
。XML(XHTML)コンテンツタイプのドキュメントを適合ブラウザに提供するときにこれに違反すると、ドキュメントはまったく表示されません。代わりにエラーメッセージが表示されます。
XHTMLサーバーをHTMLコンテンツタイプ(Content-Type: text/html
)で使用する場合、XHTMLドキュメントはほとんど常にWeb上にあるため、ブラウザは実際には非XHTML HTMLルールを適用します。
要約する:
<meta ...>
せずに/
<meta ... />
に言ったら、そうします。これは役に立ちませんが、害を及ぼすことはありません(たとえば、HTML 4.01 doctypeに対して検証しようとした場合を除きます)。/
ビフォー>
」)。混乱を招いてインターネットを汚すのを避けるために明確にしようと思ったところです。</pedant_alert>
:)
それはdoctypeに依存します。HTML5を閉じる必要はありません。XHTMLはそうします。
HTML5では、いわゆるvoid要素(コンテンツを持つことができない要素)は自己終了するため、閉じる必要はありません。ただし、閉じても有効です。
詳しくはこちら:void-elements