html - keywords - En<head>, ¿qué viene primero:<meta> o<title>?
meta tags generator (5)
En cabeza, ¿qué viene primero: meta o título?
Estaba leyendo esto
Esta etiqueta [meta] debe ser la primera en la sección HEAD, porque el servidor procesará el texto anterior como ASCII sin un formato específico que solo se conoce una vez que se analice la etiqueta.
http://www.xul.fr/en/html5/html.php
¿El estándar especifica el orden?
¿Hay desventajas en cualquier orden?
@ Gaby alias G. Petrioli -
Durante mucho tiempo, yo también pensé que la etiqueta meta "Compatible con X-UA" debía aparecer primero o IE la ignora. Cabe señalar que la etiqueta <title>
puede venir primero. Además, no puede haber otros tipos de etiquetas ( <link> or <script>
) antes de la meta tag compatible con IE.
Consulte https://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx y tenga en cuenta:
El encabezado compatible con X-UA no distingue entre mayúsculas y minúsculas; sin embargo, debe aparecer en el encabezado de la página web (la sección HEAD) antes de todos los demás elementos excepto el elemento de título y otros elementos meta .
Entonces, para continuar con el tema con la pregunta del OP; de nuevo, no importa si la etiqueta meta es la primera o la etiqueta del título es la primera. La única advertencia real es la metaetiqueta del conjunto de caracteres (como se señala en la respuesta anterior de ).
Me gustaría agregar que una práctica sólida a seguir sería colocar la metaetiqueta del conjunto de caracteres primero dentro de <head>
, seguida inmediatamente por la meta tag compatible con IE, y luego por <title>
. Me gusta esto:
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<title>Cool Page</title>
Cualquier etiqueta adicional que viva en el <head>
podría seguir al <title>
.
Como todas las otras respuestas ya han indicado, generalmente no importa. Aquí hay un poco más sobre cuándo importa y por qué.
En primer lugar, dado que preguntó por los estándares, le gustaría saber que el texto que está citando proviene de las recomendaciones de W3C para HTML 4:
http://www.w3.org/TR/html4/charset.html#h-5.2.2
Hay una discusión similar en el borrador del estándar HTML 5:
http://dev.w3.org/html5/markup/syntax.html#encoding-declaration
El problema subyacente aquí es que el navegador tiene que usar alguna codificación de juego de caracteres para comenzar a procesar el documento que recibe del servidor. Entonces, ¿qué sucede si comienza con un conjunto de caracteres y luego la etiqueta <meta>
le dice que use otra cosa? La respuesta es, depende...
El servidor debe especificar el conjunto de caracteres en el campo Content-Type
de contenido del encabezado de respuesta HTTP. Si lo hace, se supone que el navegador utiliza ese conjunto de caracteres e ignora cualquier conjunto de caracteres que pueda estar indicado en una etiqueta <meta>
en el documento que se está sirviendo.
Desafortunadamente, muchos servidores no proporcionan esta información. En ese caso, el navegador tiene que asumir algo para empezar. El algo tiene que ser "compatible con ASCII", lo que significa que está de acuerdo con ASCII para cualquier carácter en el rango ASCII. Si el documento especifica el conjunto de caracteres en una etiqueta <meta>
, el navegador comenzará a usar ese conjunto de caracteres. Entonces, si su título llegó antes de eso, ya se ha interpretado como ASCII, lo que podría estar equivocado, según lo que haya en el título.
Para resumir: si el servidor no especifica la codificación, y el título está codificado en algo distinto de ASCII, entonces debe colocar la etiqueta <meta>
que especifica el charset
primero. De lo contrario, no importa. Entonces, para estar seguro, tiene sentido poner primero la etiqueta <meta>
para el conjunto de caracteres.
El orden de las etiquetas es casi completamente irrelevante.
Esa cita se refiere a <meta http-equiv="content-type">
.
Si usa esa etiqueta, debe aparecer primero, para que el navegador sepa qué codificación usar para analizar el resto del documento.
Siempre y cuando no tenga ningún carácter no ASCII antes, su ubicación no importa.
En la mayoría de los casos, no importa en absoluto. Por lo general, pongo <title>
primero, pero depende completamente de tu preferencia.
No importa a menos que trate con IE y desee utilizar el X-UA-COMPATIBLE
<meta http-equiv="X-UA-Compatible" content="IE=7" />
Este debería ser el primero en la cabeza, si se va a evaluar por IE ... (de lo contrario, lo ignora )