Estaba leyendo el HTML de alguien que nunca cerró metaetiquetas y enlaces en la sección de encabezado HTML. El código funcionó bien; ¿es opcional cerrar estas etiquetas?
Pensé que sería malformado si una etiqueta no se cerraba.
Una etiqueta siempre debe estar cerrada por el símbolo de cierre de etiqueta>
(si ignoramos ciertas reglas SGML que se aplican nominalmente en HTML que no es XHTML pero que nunca se implementaron en los navegadores).
Lo que quiere preguntar es si los elementos deben cerrarse con etiquetas finales. La respuesta es que no XHTML HTML (incluyendo HTML5 en HTML serialización), se requiere o se deja sin ninguna etiqueta de cierre meta
y link
elementos. Sin embargo, en la práctica, los navegadores simplemente ignoran las etiquetas finales explícitas para ellos, así como el culto de carga /
anterior >
, si los usa. Y HTML5 convierte esta permisividad en una regla al permitir formalmente también la /
serialización en HTML.
En XHTML, se aplican las reglas XML, por lo que cada elemento, sin excepción, debe tener una etiqueta de inicio y una etiqueta de finalización, pero se puede usar la misma etiqueta para ambos roles si el contenido del elemento está vacío, por ejemplo <meta name="foo" content="bar"/>
, para abreviar<meta name="foo" content="bar"></meta>
. Si viola esto al entregar un documento con un tipo de contenido XML (XHTML) a un navegador conforme, entonces su documento no se muestra en absoluto; se muestra un mensaje de error en su lugar.
Cuando se utiliza un servidor XHTML con el tipo de contenido HTML ( Content-Type: text/html
), ya que los documentos XHTML casi siempre están en la web, los navegadores en realidad aplicarán las reglas HTML que no sean XHTML.
Para resumir:
<meta ...>
sin/
<meta ... />
, hazlo; no es útil, pero no causa ningún daño (excepto si intenta validar, por ejemplo, con el doctype HTML 4.01).
/
antes>
"). Solo pensé en aclarar para evitar enturbiar Internet con más confusión.</pedant_alert>
:)Depende del doctype. HTML5 no necesita el cierre. XHTML lo hace.
En HTML5, los llamados elementos vacíos (elementos que no pueden tener contenido) no necesitan el cierre, ya que son de cierre automático. Pero sigue siendo válido si los cierra.
Lea más sobre esto aquí: void-elements
fuente