質問: html タグの閉じスラッシュ前のスペースについて (1).タグ閉じスラッシュ前のスペースはなぜ必要なのでしょうか。可能でしたら詳しく教えて頂けないでしょうか。 ↓ (2).昔のブラウザ等では としているとスラッシュまでを一連のタグとして認識してしまうからですか? (3).![]() ←この場合も src=""/ スラッシュまでを一つの属性として認識してしまうのでしょうか。
回答: xml における空要素タグの定義では、スペースは有っても無くても有効です。 http://www.w3.org/tr/rec-xml/#nt-emptyelemtag xml の応用である xhtml1 の定義も同様ですが、 互換性の為にスペースを入れろと案内があります。 http://www.w3.org/tr/xhtml1/#h-4.6 http://www.w3.org/tr/xhtml1/#guidelines これは推測するに、質問の(2)(3)のケースを想定している為でしょう。 xml とは関係のない html5 では、そもそも空要素タグの閉じスラッシュ自体が不要なので、書いても意味はないと定義されています。(必要なケースも存在しますが) http://www.w3.org/tr/html5/syntax.html#start-tags これは推測するに、xhtml5 文書との運用性を考慮しているためでしょう。 というわけで質問者様が x のつかない html の質問をなさっているならば、 そもそもスラッシュが不要 なんらかの理由でスラッシュを書くならば、スペースは任意 更に古い環境を考慮する特別な理由があるならば、スペースは必要 xhtml の質問をなさっているならば、 スラッシュは必要だがスペースは任意 xhtml を理解できない古い環境を考慮するなら、そもそもxhtmlなんてやめなさい