HTML5では、XHTMLのようにエンドスラッシュが必要ですか?
<img src="some_image.png" />
validator.w3.orgは私がそれを落としても文句を言わず、警告さえしませんでした。しかし、一部のオンラインドキュメントでは、img、link、meta、brなどのタグに引き続きエンドスラッシュが必要であることを示しているようです。
HTML5では、XHTMLのようにエンドスラッシュが必要ですか?
<img src="some_image.png" />
validator.w3.orgは私がそれを落としても文句を言わず、警告さえしませんでした。しかし、一部のオンラインドキュメントでは、img、link、meta、brなどのタグに引き続きエンドスラッシュが必要であることを示しているようです。
回答:
img
タグはVoid要素なので、終了タグは必要ありません。
Void要素領域、ベース、br、col、コマンド、埋め込み、hr、img、入力、keygen、リンク、メタ、パラメーター、ソース、トラック、wbr
...
Void要素には開始タグしかありません。void要素に終了タグを指定してはなりません。
ただし、HTML5での厳密な解析ではないため、大きな害はありません。
<br/
)に関するものですが、この回答は終了タグ(たとえば<br></br>
)にのみ言及しています。
an ending slash
しan end tag
、引用する仕様の段落を誤解しているためです。これは@YannisDranの混乱につながります。@minitechは正しいことを正しく述べています。
HTML 5では、終了スラッシュはvoid要素などのオプションですimg
(現在受け入れられている回答は「終了要素はvoid要素に指定してはならない」とだけ言っており、void要素の終了スラッシュには対応していないため、これを追加しています)。
http://www.w3.org/TR/html5/syntax.html#start-tags(番号6)からの引用:
次に、要素がvoid要素の1つである場合、または要素が外部要素である場合、単一の「/」(U + 002F)文字が存在する可能性があります。この文字はvoid要素には影響しませんが、外部要素には開始タグを自己終了としてマークします。
<br/>
または<img ... />
エラーでした。
いいえ。HTML5が登場する前でさえ、HTMLはこれを必要としませんでした。HTML機能でXHTMLを使用する場合は、そうです、それは必要です。
void要素の終了スラッシュはオプションです。
どちらも有効なHTML5です。
<img src="some_image.png" />
そして
<img src="some_image.png">
Void要素は次のとおりです。
area
base
br
col
embed
hr
img
👍 input
link
meta
param
source
track
wbr
興味深いことに:
Void要素にコンテンツを含めることはできません(終了タグがないため、開始タグと終了タグの間にコンテンツを置くことはできません)。
詳細:https : //html.spec.whatwg.org/multipage/syntax.html#elements-2
こちらのSOの質問もご覧ください:
HTML5の自己終了タグ(void要素)