2

所以我的问题是,当使用 doctype 4.01 Transitional 在 html 的 head 标记中设置时,哪些元标记放置在 title 标记之前。

这里我举个例子:

<!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 文档中的所有内容。但对其他人有一些怀疑。

什么是正确的顺序?

4

2 回答 2

3

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

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

除此之外,对head元素的内容没有顺序限制,也没有理由期望meta元素的顺序很重要。

于 2013-06-17T06:35:31.417 回答
1

没有正确的顺序。您的标题和元标记可以按任何顺序排列,结果将是相同的。

于 2013-06-16T23:21:10.460 回答