Hay un número de etiquetas HTML en HTML4 y HTML5 que no requieren el uso de una etiqueta de cierre para HTML válido. Lo son:
La razón por la que la mayoría de estas etiquetas no tienen una etiqueta final requerida es que en la mayoría de los casos, la etiqueta final está implicada por la presencia de otra etiqueta en el documento. Por ejemplo, en la mayoría de los documentos web, un párrafo (definido por
) es seguido por otro párrafo o por otro elemento de nivel de bloque. Así, el navegador puede inferir que el párrafo ha terminado al comienzo del siguiente párrafo.
Otras etiquetas de esta lista no siempre tienen contenido, como . Este elemento puede contener etiquetas como pero no es necesario. Si un colgroup no contiene ninguna etiqueta col, omitir la etiqueta de cierre no causa ninguna confusión – en la mayoría de los casos el número de columnas se definiría por el atributo span.
La omisión de etiquetas de extremo acelera sus páginas
Una buena razón para omitir las etiquetas finales de estos elementos es porque añaden caracteres adicionales a la descarga de la página y, por lo tanto, ralentizan las páginas. Si está buscando cosas que hacer para acelerar la descarga de su página web, deshacerse de las etiquetas de cierre opcionales es un buen punto de partida. Para documentos que tienen muchos párrafos o celdas de tabla, esto puede suponer un ahorro significativo.
Pero omitir las etiquetas de cierre no es bueno
Hay algunas razones importantes para dejar en las etiquetas de cierre.
- Las etiquetas de cierre proporcionan estructura.
- Cuando usted tiene un documento HTML que está mínimamente codificado, podría cargarse rápidamente, pero podría convertirse rápidamente en un oso a mantener. Agregar nuevas filas o columnas de tabla puede ser mucho más difícil de hacer rápidamente sin la estructura completa de las etiquetas de inicio y final. Y a menudo la gente resuelve esto mediante la sangría que añade los caracteres de nuevo en el documento, negando así los beneficios de velocidad que obtuviste al omitirlos.
- CSS y JavaScript se enganchan a todos los elementos.
- Mientras que la mayoría de los navegadores pueden mostrar (y estilizar) las etiquetas sin sus etiquetas de cierre, la falta de etiquetas de cierre puede hacer que la ubicación definitiva para el cierre de un estilo o acción de script sea menos clara. Si está trabajando con diseños muy precisos, renuncia al control de la precisión cuando omite cerrar las etiquetas; está dejando que el navegador decida dónde termina la etiqueta. A veces los navegadores adivinan bien, y a veces no.
- No siempre se permite omitir las etiquetas de cierre.
- En HTML5, el
- puede omitirse cuando el párrafo va seguido inmediatamente de unos 25 elementos diferentes. Pero hay más de 100 elementos en HTML5. ¿Vas a memorizar todas las situaciones en las que es válido dejar la etiqueta final? Probablemente sea más fácil incluirlo.
XHTML requiere todas las etiquetas de cierre
La razón principal por la que la mayoría de la gente utiliza etiquetas de cierre con estos elementos es la de XHTML. Cuando se escribe XHTML siempre se requieren las etiquetas de cierre. Si planea convertir sus documentos web a XHTML en cualquier momento en el futuro, lo más fácil es incluir las etiquetas de cierre, para que sus documentos estén listos.