<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
Qual deles está correto?
<img src='stackoverflow.png'>
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
Qual deles está correto?
Respostas:
<img src='stackoverflow.png' />
Funciona bem e fecha a etiqueta corretamente. É melhor adicionar o alt
atributo para pessoas com deficiência visual.
<img />
seja válido em [X] HTML / XML, embora o uso de XHTML seja muito raro atualmente e se seu servidor estiver servindo as páginas, pois text/html
tudo o que você precisa se preocupar é escrever HTML válido. As chances de migrar um aplicativo HTML para XHTML são quase nulas.
<img src='stackoverflow.png'>
(se for importante para você).
Este é HTML5 válido e é absolutamente bom sem fechá-lo. É o chamado elemento vazio:
<img src='stackoverflow.png'>
A seguir estão as tags XHTML válidas. Eles têm que estar fechados. O último também é bom no HTML 5:
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
<img src='stackoverflow.png'>
(se isso for importante para você).
<img src="about:logo" alt="about:logo">
tag na about:logo
página do firefox 76 ! Embora document.body.innerHTML
mostre <img src=\"about:logo\" alt=\"about:logo\">
... Muito boa resposta ...
Na verdade, apenas o primeiro é válido em HTML5
<img src='stackoverflow.png'>
Apenas os dois últimos são válidos em XHTML
<img src='stackoverflow.png'></img>
<img src='stackoverflow.png' />
(Embora não seja estritamente necessário, alt
também deve ser incluído um atributo _).
Dito isto, sua página HTML5 provavelmente será exibida como pretendido, porque os navegadores reescreverão ou interpretarão seu html da maneira que eles pensam que você quis dizer. Isso pode significar que ele transforma uma tag, por exemplo,
<div />
em <div></div>
. Ou talvez apenas ignore a barra final <img ... />
.
consulte 2016: sirva HTML5 como XHTML 5.0 para validação herdada.
veja: discussão de 2011 e links adicionais aqui, embora com o tempo alguns bits possam ter mudado
Em parte, isso ocorre porque os navegadores tentam muito corrigir os erros. Além disso, porque há muita confusão sobre tags de fechamento automático e tags nulas. Finalmente, as especificações foram alteradas ou nem sempre foram claras e os navegadores tentam ser compatíveis com versões anteriores.
Portanto, embora você possa se dar bem com qualquer uma das três opções,
apenas a primeira segue o padrão HTML5 e é garantida a aprovação de um validador HTML5.
Uma estratégia sólida pode ser:
Aqui está uma lista de tags que não devem ser fechadas no HTML5 :
<br> <hr> <input>
<img> <link> <source>
<col> <area> <base>
<meta> <embed> <param>
<track> <wbr> <keygen> (HTML 5.2 Draft removed)
<img src='stackoverflow.png' />
válida em qualquer versão do XHTML e HTML 5.
Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single U+002F SOLIDUS character (/). This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.
img é um elemento nulo por seção 12.1.2
Actually, only the first one is valid in HTML5
tecnicamente incorreta. O segundo também é válido em HTML5. Não é necessário, mas é válido. Ninguém está argumentando que isso é necessário. Somente isso de acordo com as especificações, o uso do formulário de fechamento automático da tag é válido em todas as formas atuais de XHTML e HTML.
O melhor uso de tags que você deve usar:
<img src="" alt=""/>
Além disso, você pode usar em HTML5:
<img src="" alt="">
Esses dois são completamente válidos no HTML5 Escolha um deles e fique com ele.
A resposta certa. O HTML5 segue regras rígidas e, no HTML5, podemos fechar todas as tags. Portanto, depende de você usar HTML5 ou HTML e seguir uma resposta apropriada.
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
A segunda propriedade é mais apropriada.
-A tag está vazia e contém apenas atributo. -A tag não possui a tag 'Closing'.
Assim,
<img src='stackoverflow.png'>
<img src='stackoverflow.png' />
ambos estão corretos no HTML5 também.
É útil ter a tag de fechamento se você tentar lê-la com um analisador XHTML. Pode ser um caso extremo, mas faço isso o tempo todo. Isso não prejudica tê-lo, e significa que sei que podemos usar uma variedade de leitores XML que não se perderão quando atingirem uma marca não fechada.
Se você nunca vai tentar analisar o conteúdo, ignore o fechamento.