web-dev-qa-db-ja.com

<img>または<br>タグなどの最後に「/」が必要ですか?

imgタグの最後に/が必要ですか? W3schools.comで/なしで を見ました:

<img src="smiley.gif" alt="Smiley face" height="42" width="42">

少なくともブラウザでは、タグを自動的に閉じる必要はありませんが、そうする必要がありますか?

56
MarJamRob

/は、XHTMLおよびXMLにのみ必要です。

HTML5 doctypeを使用している場合、この方法で自己終了タグを終了する必要はありません。

これは、<img src="img.png" /><br /><hr />などに適用されます。

つまり<img src="img.png"><br>、および<hr>を使用してください。

空の要素(divなど)が必要な場合、<div />を使用せず、代わりに<div></div>。 HTML5では スラッシュは無視されます であり、<div />は終了タグなしで<div>として解釈されるため、これは重要です。

81
Danny Beckett

他の回答で述べられているように、XHTML標準にのみ必要です。ただし、別の用途もあります。

Notepad ++などの一部のコードエディターでは、タグを展開/折りたたんで表示を高速化できます。しかし、単に<img>、終了タグを必要としないタグと、同じタグ名を使用するが必要なタグ(XMLなど)の違いをどのように知るのでしょうか。これは、カスタムタグを使用する場合に特に当てはまります。

したがって、/>は、それが自己閉鎖であることをエディターに明示的に伝え、それがうまく機能し続け、不一致のタグについて警告しないようにすることを可能にします。

12

検証対象のDoctypeに単純に依存する妥当性の問題とは別に、スラッシュは、ページがapplication/xhtml+xml(古いバージョンのIEチョーク)。

それを行う場合、整形式エラー処理はDraconianです:エラー(一致する終了タグのない開始タグなど、<img ... />構文が使用されるときに開始タグ自体になることがある)は、ページがまったく表示されず、代わりにエラーメッセージが表示されます。

5

Imgタグを閉じることをお勧めします。私の頭の上の2つの理由を考えることができます。

  1. この種のことを気にする場合、xhtmlで検証しません。

  2. プログラムでプログラムを操作しようとするものは誰でも、閉じられていないタグに関する問題に混乱するか、実行される可能性があります。誰が知っているか、これは将来あなたを含むかもしれません。 :)

3
mitim

コードは/を使用せずにhtmlで受け入れられますが、XHTMLでは必須です。 HTMLからXHTMLへの移行に問題がないように、/を配置することを好みます

3
Snippet