Parte del HTML es "opcional"
Hay una variedad de HTML que puede omitir del HTML fuente y sigue siendo un marcado válido.
¿No parece esto raro?
pParagraph one.pParagraph two.pParagraph three.
A mí sí, pero las /p
etiquetas de cierre son opcionales. El navegador detectará que los necesita y se manifestará correctamente en el DOM de todos modos.
Esto probablemente le sucede al HTML que escribes y ni siquiera lo sabes. Por ejemplo…
table tr td/td /tr/table
Eso me parece perfectamente bien, pero el navegador inyectará un tbody
mensaje alrededor de eso tr
por usted. Opcional en HTML, pero el DOM lo incluirá de todos modos.
¡Diablos, realmente ni siquiera necesitas uno body
de la misma manera! Jens Oliver Meiert comparte más:
link rel=stylesheet href=default.css
Algunos atributos también son "opcionales" en el sentido de que tienen valores predeterminados que puedes omitir. Por ejemplo, a button
es automáticamente button type="submit"
.
Jens sostiene además que estas casi se consideran optimizaciones, ya que reducen el tamaño del archivo y, por tanto, la velocidad de la red.
A mí no me gusta mirar HTML de esa manera. Me pone nervioso, ya que hay situaciones reales que se cagan si no lo haces bien. No todos los nombres de archivos se pueden dejar sin comillas. A veces, omitir etiquetas de cierre significa envolver un elemento hermano de una manera que no esperaba. Incluso sacrificaría una pequeña pizca de rendimiento por un sitio más resistente. Más o menos como sé que * {}
no es un selector particularmente eficiente, pero preocuparse por el rendimiento del selector CSS es una preocupación fuera de lugar en la mayoría de los casos (la diferencia de velocidad es insignificante).
De hecho, me gusta bastante JSX por lo estricto que te obliga a escribir "HTML". Ese rigor también ayuda al formato del código (por ejemplo, Prettier), como beneficio adicional.
Pero bueno, una ganancia de rendimiento es una ganancia de rendimiento, por lo que no diría que no a las herramientas que hacen esto automáticamente en la salida compilada. Aparentemente eso es algo que HTMLminifier puede hacer.
Deja una respuesta