所以我的问题是在标题为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文档中的所有内容。但对其他人有一些疑问。
什么才是正确的顺序??
答案 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)
没有正确的订单。您的标题和元标记可以按任何顺序排列,结果也一样。