HTML5 における空要素の閉じ方
やっと Web 関連のネタ書くよー
HTML5 における空要素 (br 要素や hr 要素など、終了タグが不要な要素) の閉じ方は、てっきり />
でないとダメかと思っていた。でもどうやら >
で良いようだ。
空要素は
/>
で閉じるのですか? それとも>
で閉じるのですか?HTML の空要素(たとえば、br, img, input 要素)に終端スラッシュをいれる必要はありません。
/>
の代わりに>
と書けば良いだけです。これは HTML4 と同じです。しかし、XHTML1 の利用が広まっているため、かなり多くのページで、終端スラッシュが使われています。そのため、XHTML1 から HTML への移行を容易にするために、終端スラッシュの構文を HTML の空要素で使うことができるようになりました。この新 HTML 仕様では、MathML 要素も組み込めるようになっています。math 要素の中にある要素に終端スラッシュを入れれば、それは XML の中で使われているのと同様の意味を持ちます。つまり、それは要素を閉じます。しかし、これはそのコンテキストの中だけに適用され、通常の HTML 要素では機能しません。
というわけで、
<br/>
<br />
↑とは書かなくてもよくて (書いても NG とはならない)、
<br>
↑が一番正しい、と。
<br></br>
↑こう書くのは NG。
XHTML の場合
ちなみに、XHTML の場合、<br/>
よりは、<br />
と、スラッシュの手前に半角スペースを入れるのが推奨されるようだ。古いブラウザにも解釈させられるためだとか。
- 参考 : Extensible Markup Language (XML) 1.0 (Fifth Edition)
- 参考 : XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)
- 参考 : XHTML1.0のポイント(要素 element)/XHTML入門