• ベストアンサー

html タグの閉じスラッシュ前のスペースについて

(1).タグ閉じスラッシュ前のスペースはなぜ必要なのでしょうか。可能でしたら詳しく教えて頂けないでしょうか。   ↓ <br /> (2).昔のブラウザ等では <br/>としているとスラッシュまでを一連のタグとして認識してしまうからですか? (3).<img src=""/> ←この場合も src=""/ スラッシュまでを一つの属性として認識してしまうのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • hirotn
  • ベストアンサー率59% (147/246)
回答No.3

A(1) ご質問の回答としては、HTMLとXHTMLの違いになります。(#2の回答者さんのとおり) XHTMLの仕様は#1の回答者さんの通りです。 (私が申し上げたいこと) XHTMLにおいてすべてのタグは必ず、閉じなければならないということです。 例) <br></br> <br />   ←このように書くこともでき、こちらが推奨されていることは#1の回答者さんの回答の通りです。 ただし、以下はNGです。<p></p>のみが許されています。この場合、<p>< /p>のような書き方もダメです。 <p /> A(2) ブラウザによって解釈がごちゃごちゃです。仕様に従っていない場合もあるからです。 申し訳ありませんが理路整然と切り分けた考察は知りません。 A(3) いいえとも言えますし、微妙なところです。 HTMLの場合はクォーテーションがなくても解釈するブラウザがありましたが、 XHTMLの場合はクォーテーションが必須となります。

その他の回答 (3)

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.4

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なんてやめなさい

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

質問する前に一度調べた方が良いですよ。 「HTMLとXHTMLの違い」 仕様書はもちろん、簡易説明しているサイトや論文のような解説サイトまでありますから。 ------------- HTMLとXHTMLの仕様の違いであって、 ブラウザではどちらでもレンダリングしてくれる可能性大。 XHTMLでは、閉じタグが必須だけど、 <br><img><hr><input>など閉じタグの代用として、 半角スペース+スラッシュにするという決まり = それがルールというか、仕様。 ------------- 誰もが言葉を理解しあえるように、日本語にもルール(文法)がある。 同様に、ウェブページも万人(制作者も回覧者も)が便利に利用できるよう、HTMLも正しく解釈されるよう、W3Cで草案/協議され、共通のルールを作った。 不備を感じるかもしれないが、「郷に入れば郷に従え」って事かな。 「どっちでも、適当でいいんじゃない」といえば、そうかもしれないし、文法/仕様を無視するのは損する事はあっても得をする事はない。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

文法チェックに を使われると思いますが、そのときに警告され、→解説にリンクすると 「空要素タグ <TAG> を閉じるときは `/>` に空白を先行させましょう。」  http://openlab.ring.gr.jp/k16/htmllint/explain.html#leading-space-endtag-slash と解説ページに進みます。 XHTMLには付属文書で  ⇒HTML互換性ガイドライン ( http://www.doraneko.org/webauth/xhtml10/20000126/Overview.html#guidelines ) 【引用】____________ここから C.2 空要素  たとえば <br /> や <hr />, <img src="karen.jpg" alt="Karen" /> といったように、空要素の末尾の / と > との前にスペースを1個組み込むこと。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[XHTML 1.0: 拡張可能ハイパーテキストマークアップ言語( http://www.doraneko.org/webauth/xhtml10/20000126/Overview.html#guidelines )]より  たぶん、ここで聞くより、まず仕様書を探すことを身につけましょう。正確で正しい情報が得られますし、付帯した様々な知識が得られます。