大写或小写文档types?
在编写HTML5文档时,什么是正确的方法?
<!DOCTYPE html>
要么
<!doctype html>
在HTML中,DOCTYPE不区分大小写。 以下DOCTYPE全部有效:
<!doctype html> <!DOCTYPE html> <!DOCTYPE HTML> <!DoCtYpE hTmL>
在XML序列化(即XHTML)中,DOCTYPE不是必需的,但是如果使用它, DOCTYPE
应该是大写的:
<!DOCTYPE html>
请参阅HTML5的XML序列化,又名'XHTML5' :
请注意,如果您在XHTML文档中不使用大写的
DOCTYPE
,则XMLparsing器将返回语法错误。第二部分可以用小写(
html
),大写(HTML
)或混合大小写(hTmL
) – 它仍然可以工作。 但是,为了符合适用于HTML兼容XHTML文档的Polyglot标记准则 ,应该使用小写。
如果有人在2014年仍然想知道,请咨询:
HTML5
W3 HTML5规范 – Doctype
DOCTYPE必须按以下顺序组成:
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE". ...
注意:尽pipe显示全部大写,规范说明它是不敏感的
————————————————– ——————–
XHTML5
W3 HTML5 – XHTML
This specification does not define any syntax-level requirements beyond those defined for XML proper. XML documents may contain a DOCTYPE if desired, but this is not required to conform to this specification. This specification does not define a public or system identifier, nor provide a formal DTD.
查看XML规范,它列出了大写的DOCTYPE,但是我找不到任何指出需要“全部大写”的东西(相比之下,在上面列出的HTML5规范中,它在所有大写中都显示在示例中,但是该规范明确指出这是不区分大小写的 )。
————————————————– ——————–
多语言标记
W3 Polyglot标记 – 介绍
能够提供格式良好的XML文档的HTML5文档有时也很有价值。
W3多语言标记 – Doctype
多语言标记使用由[HTML5]的第8.1.1节指定的文档types声明(DOCTYPE)。 另外,DOCTYPE符合以下规则:
* The string DOCTYPE is in uppercase letters.
所以,请注意,Ployglot标记使用常规的HTML5文档types,但添加/更改。 对于我们的讨论,最值得注意的是DOCTYPE 是全部大写的 。
————————————————– ——————–
合计
查看W3的HTML和XHTML部分
[意见]除非你特别想要考虑它,否则我不会太担心满足XML合规性。 对于大多数客户端和基于JS的服务器开发,JSON已经取代了XML。
因此,如果您尝试更新现有的基于xhtml / xml的遗留系统以与新的HTML5function共存,那么我只能看到这一点。 如果是这种情况,请查看多边形标记规范。
根据最新的规范 ,你应该使用<!DOCTYPE html>
不区分大小写的匹配项。 因此,虽然浏览器需要支持你喜欢的任何情况,但从这里推断出<!DOCTYPE html>
是规范的情况是合理的。
大写或小写都是“正确的”。 但是,如果您使用networking字体并关心IE7,我build议使用<!DOCTYPE html>
因为在IE7中,如果使用<!doctype html>
(例如在此答案中 ),Web字体有时会失败。
这就是为什么我总是大写的文档types。
HTML5的标准是标签不区分大小写。
http://www.w3schools.com/html5/tag_doctype.asp
更技术性地说:( http://www.w3.org/TR/html5/syntax.html )
DOCTYPE必须按以下顺序组成:
- 与string
<!DOCTYPE
匹配的ASCIIstring不区分大小写的string。
这个问题意味着只有一个正确的答案,提供了两个select,并要求我们select一个。 我build议对于HTML5, <!DOCTYPE html>
和<!doctype html>
都是有效的。
所以一个支持HTML5的浏览器会接受小写字母并正确处理html。
以前浏览器并没有注意到HTML5,我听说,即使没有文档types,也会尝试尽可能地处理html。 如果他们不承认小写的doctype会做同样的事情。 因此,将其设置为大写是没有意义的,因为无论如何,这些浏览器将无法完全实现任何HTML5声明。