Eu estava lendo o HTML de alguém que nunca fechou meta e tags de link na seção principal do HTML. O código funcionou bem; o fechamento dessas tags é opcional?
Eu pensei que seria deformado se uma tag não fosse fechada.
Uma tag sempre deve ser fechada pelo símbolo de fechamento da tag >
(se ignorarmos certas regras SGML que se aplicam nominalmente em HTML não XHTML, mas nunca foram implementadas nos navegadores).
O que você quer perguntar é se os elementos precisam ser fechados pelas tags finais. A resposta é que HTML não XHTML (incluindo HTML5 na serialização HTML), nenhuma tag final é necessária ou permitida meta
e link
elementos. Na prática, no entanto, os navegadores simplesmente ignoram as tags finais explícitas para eles, bem como o culto à carga /
antes >
, se você as usar. E o HTML5 torna essa permissividade uma regra, mesmo permitindo formalmente a /
serialização HTML também.
No XHTML, as regras XML se aplicam, portanto, todo elemento, sem exceção, deve ter uma marca inicial e uma marca final, mas a mesma marca pode ser usada para ambas as funções se o conteúdo do elemento estiver vazio, por exemplo, <meta name="foo" content="bar"/>
como abreviação <meta name="foo" content="bar"></meta>
. Se você violar isso ao veicular um documento com um tipo de conteúdo XML (XHTML) em um navegador compatível, seu documento não será exibido; uma mensagem de erro é mostrada.
Ao usar um servidor XHTML com o tipo de conteúdo HTML ( Content-Type: text/html
), como os documentos XHTML quase sempre estão na Web, os navegadores realmente aplicarão as regras HTML não XHTML.
Para resumir:
<meta ...>
sem/
<meta ... />
, faça-o; não é útil, mas não causa danos (exceto se você tentar validar, por exemplo, o doctype do HTML 4.01).
/
antes>
"). Só pensei em esclarecer para evitar confundir a Internet com mais confusão.</pedant_alert>
:)Depende do doctype. O HTML5 não precisa do fechamento. XHTML faz.
No HTML5, os chamados elementos nulos (elementos que não podem ter conteúdo) não precisam do fechamento, pois são fechados automaticamente. Mas ainda é válido se você fechá-los ..
Leia mais sobre isso aqui: void-elements
fonte