使用doctype 4.01 Transitional的html中标题标记之前的哪个元标记?

时间:2013-06-16 23:17:50

标签: html character-encoding meta

所以我的问题是在标题为4.01 Transitional的html中的head标签中设置时,哪些元标记放在标题标记之前。

这里我举一个例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <title>Index</title>
   <meta name="keywords" content="whatsoever">
   <meta name="description" content="ask stackoverflow">
   <meta name="author" content="gugol">

    <link rel="stylesheet" type="text/css" href="../css/nicestyles.css">
</head>
<body></body>
</html>

我想我应该首先使用charset属性,以便在HTML文档的字符编码下读取html文档中的所有内容。但对其他人有一些疑问。

什么才是正确的顺序??

2 个答案:

答案 0 :(得分:3)

现代浏览器允许您在meta标记中指定字符编码,以便它甚至可以应用于其前面的元素。但是,根据HTML 4.01条款5.2.2 Specifying the character encoding,这样的标记应该尽早出现。 HTML5 CR在条款4.2.5.5 Specifying the document's character encoding中进一步阐明“包含字符编码声明的元素必须在文档的前1024个字节内完全序列化”。

这里的要点是,除非在HTTP标头中指定了编码,或者在文档开头处通过可解释为字节顺序标记的数据,否则浏览器将扫描文档的某些初始部分,例如一千字节,然后推断或猜测它的编码,暂时将其解析为Ascii数据并识别meta标签(如果有)。

除此之外,对head元素的内容没有任何订单限制,并且没有理由期望meta元素的顺序很重要。

答案 1 :(得分:1)

没有正确的订单。您的标题和元标记可以按任何顺序排列,结果也一样。