En HTML, DOCTYPE
debe ir primero, seguido de un solo <html>
elemento, que debe contener un <head>
elemento que contenga un <title>
elemento, seguido de un <body>
elemento. Vea la descripción de la estructura global de un documento HTML en HTML 4.01 y el borrador de HTML5 ; los requisitos reales son en su mayoría los mismos que no sean DOCTYPE
, pero se describen de manera diferente.
Las etiquetas reales ( <html>
, </html>
, <head>
, etc.) son opcionales; los elementos se crearán automáticamente si las etiquetas no existen. <title>
es la única etiqueta obligatoria en HTML. El documento HTML 4.01 válido más corto (al menos, que podría generar) es (necesita un <p>
porque debe haber algo en el <body>
para ser válido):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><title></title><p>
Y el documento HTML5 válido más corto:
<!DOCTYPE html><title></title>
Tenga en cuenta que en XHTML, todas las etiquetas deben especificarse explícitamente; no se insertarán elementos implícitamente.
Los navegadores realizan un rastreo de tipo de contenido en algunas circunstancias para determinar el tipo de recurso que no se ha especificado mediante un Content-Type
encabezado HTTP, y también un rastreo de codificación de caracteres si el Content-Type
encabezado no se ha proporcionado o no incluye un charset
(generalmente debe intentar incluir estos encabezados y asegurarse de que sean correctos, pero hay algunas circunstancias en las que no puede, como archivos locales que no se transfieren a través de HTTP). Sin embargo, solo detectan un número limitado de bytes al comienzo del documento para estos fines, por lo que cualquier cosa que tenga la intención de afectar la detección de contenido o la detección de codificación de caracteres debe estar cerca del comienzo del documento.
Por esta razón, HTML5 especifica que cualquier meta
etiqueta que se utilice para especificar el conjunto de caracteres (ya sea <meta http-equiv="Content-type" content="text/html; charset=...">
o simplemente <meta charset=...>
) debe estar dentro de los primeros 1024 bytes del archivo para que surta efecto. Por lo tanto, si va a incluir información de codificación de caracteres dentro de su documento, debe colocar la etiqueta al principio del archivo, posiblemente incluso antes del <title>
elemento. Pero recuerde que esta etiqueta es innecesaria si especifica correctamente un Content-type
encabezado.
En CSS, las declaraciones de estilo posteriores tienen prioridad sobre las anteriores , en igualdad de condiciones. Por lo tanto, generalmente debe colocar las hojas de estilo más genéricas que se puedan anular antes y las hojas de estilo más específicas más adelante.
Por motivos de rendimiento, puede ser una buena idea colocar los scripts en la parte inferior de la página, justo antes del </body>
, porque cargar scripts bloquea el procesamiento de la página.
Obviamente, las <script>
etiquetas deben ordenarse de modo que los scripts que dependen de cada orden tengan las dependencias cargadas primero.
En general, aparte de las restricciones que ya he especificado, el orden de las etiquetas dentro <head>
no debería importar demasiado, aparte de la legibilidad. Me gusta ver las etiquetas <title>
hacia arriba y colocar las otras <meta>
etiquetas en algún tipo de orden lógico.
La mayoría de las veces, el orden en el que debe colocar las cosas en el cuerpo de un documento HTML debe ser el orden en el que deben mostrarse o el orden en el que deben accederse. Puede usar CSS para reorganizar las cosas, pero los lectores de pantalla generalmente leerán las cosas en el orden de origen, los índices de búsqueda extraerán las cosas en el orden de origen, etc.