我正在寻找将用XHTML 1.0编写的页面迁移到HTML 5,并且meta在<head>元素中包含标记时正在考虑最低要求.例如,我当前符合XHTML 1.0的页面具有以下meta标记
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="content-language" content="en-us" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="copyright" content="© 2012" />
<meta name="robot" content="noindex, nofollow" />
Run Code Online (Sandbox Code Playgroud)
以下内容对于HTML 5是否足够,我还可以包含它们吗?
我的理解是,meta元素<meta http-equiv="content-language" content="en-us" />现在可以全局应用于 <html>元素.
<html lang="en-us">
<head>
<meta charset="UTF-8" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="copyright" content="©" />
<meta name="robot" content="noindex, nofollow" />
<title>sample code</title>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
Tor*_*ter 26
没有最小的元标记(除非我的问题当然是错误的).据我所知,不需要元标记,您添加的元标记是您的特定需求.
请考虑以下文档:
<!DOCTYPE HTML>
<html>
<head>
<title>Some Title</title>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您可以对其进行验证,而不会收到任何警告.验证器只是提醒您缺少默认编码.这甚至不是警告,只是一个信息.
该工作草案有这样说的meta标签:
元素表示使用标题,基本,链接,样式和脚本元素无法表达的各种元数据.
它继续:
4.2.5.1标准元数据名称
应用程序名称,作者,描述,生成器,关键字
此外,它还提到了一些关于页面状态,上下文表示和字符编码的附加标签.
虽然标准中没有明确要求这些,但实际上有最佳实践,特别是关于搜索引擎优化(SEO).这与HTML标准无关,但与Web(搜索)爬虫无关.
您可以在网站站长工具元标记支持页面上获得一些关于元标记(对于Google)很重要的好建议
没有meta标签被任何HTML5草案要求.(HTML5正在进行中,可能随时更改,恕不另行通知.)
content-language根据HTML5草案,您列出的许多标签(包括带有标签的标签)甚至不允许(符合标准).在实践中,它们中的大多数是无用的,但其中一些是有害的(例如排除机器人的那种,并且在大多数情况下是那些试图阻止所有缓存的机器人).
您的后一段代码无效:该html元素必须包含所有其他元素,并且该head元素必须包含一个title元素(在所有HTML版本中).
查阅最新的W3C HTML5草案并使用实验检查器http://validator.nu.
小智 5
根据http://validator.w3.org/,以下是有效HTML5文档的绝对最小示例,其他一切都是可选的.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Valid HTML5 Document!</title>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
所以,你绝对必须定义charset元标记,其他一切都是完成你的目标(搜索引擎相关的东西,缓存控制等).