タグは必ず閉じなければいけないの?

通常は開始タグの後に内容が入り、終了タグで閉じます。

XHTML1.0/1.1では、内容を持たない空要素でも必ず閉じなくてはいけません。

XHTMLはXMLに基づいているため、文書がきちんと構造化されている必要があります。XHTMLはタグで範囲を指定した要素によって構造化されるため、終了タグがないと要素の範囲がどこまでなのかわからなくなります。

Internet ExplorerやFirefoxなどのブラウザでは、閉じていないタグを含んだXHTMLでも、とりあえず表示しますが、ファイルの拡張子を「.xml」に変更して読み込むと、エラーになってしまいます。XHTMLをXMLとして処理するためには、きちんと終了タグを付け、空要素も閉じる必要があるということですね。

なお、HTML5では空要素を閉じる必要がありません。HTML5をXML構文で記述する場合は、空要素を終了カッコ「>」の前に「/」を入れて閉じる事もできますが、その記述方式は容認されているだけであって、決して推奨ではありませんので、ご注意ください。

ワンポイント

空要素「/」の前には空白を空ける。
XHTML1.xでは空要素を記述する際に、<要素名/>ではなく、「/」の前に半角スペースを追加して<要素名 />とします。これは、XHTMLに対応していない古いブラウザで要素名が「要素名/」と解釈されてエラーになるのを防ぐためなんですね。

カテゴリー: HTMLの基礎知識, タグ, ナレッジノート   パーマリンク