大写或小写doctype?

时间:2011-08-11 04:49:39

标签: html html5 doctype

在编写HTML5 doctype时,正确的方法是什么?

<!DOCTYPE html>

<!doctype html>

8 个答案:

答案 0 :(得分:161)

在HTML中,DOCTYPE不区分大小写。以下DOCTYPE均有效:

<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>

在XML序列化(即XHTML)中,不需要DOCTYPE,但如果使用它,则DOCTYPE应为大写:

<!DOCTYPE html>

请参阅 The XML serialization of HTML5, aka ‘XHTML5’

  

请注意,如果在XHTML文档中没有大写DOCTYPE,则XML解析器将返回语法错误。

     

第二部分可以用小写(html),大写(HTML)或甚至是大小写(hTmL)来编写 - 它仍然有用。但是,为了符合Polyglot Markup Guidelines for HTML-Compatible XHTML Documents,它应该用小写字母书写。

答案 1 :(得分:33)

如果有人在2014年仍在疑惑,请参考:

<强> HTML5

<强> W3 HTML5 Spec - Doctype

  

DOCTYPE必须按以下顺序组成:

1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...

注意:尽管全部显示,但规范声明不敏感

----------------------------------------------- -----------------------

<强> 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 Markup - Intro

  

能够提供格式良好的XML文档的HTML5文档有时很有价值。

W3 Polyglot Markup - Doctype

  

Polyglot标记使用[HTML5]第8.1.1节指定的文档类型声明(DOCTYPE)。此外,DOCTYPE符合以下规则:

* The string DOCTYPE is in uppercase letters.

因此,请注意Ployglot Markup使用常规HTML5文档类型,但添加/更改。对于我们的讨论,最值得注意的是DOCTYPE 以全部大写声明

----------------------------------------------- -----------------------

<强>求和

<强> View the W3's HTML vs. XHTML section

[意见] 除非您特别考虑对其进行考虑,否则我不会过分担心满足XML合规性。对于大多数基于客户端和JS的服务器开发,JSON已经取代了XML。

因此,如果您尝试更新现有的基于xhtml / xml的遗留系统以与新的HTML5功能共存,我只能看到这种情况。如果是这种情况,那么请查看多语言标记规范。

答案 2 :(得分:17)

根据latest spec,您应该使用与<!DOCTYPE html>不区分大小写的匹配项。因此,虽然浏览器需要支持您喜欢的任何情况,但从中推断<!DOCTYPE html>是规范案例是合理的。

答案 3 :(得分:7)

HTML5的标准是标签不区分大小写。

http://www.w3schools.com/html5/tag_doctype.asp

更多技术上:(http://www.w3.org/TR/html5/syntax.html

DOCTYPE必须按以下顺序组成:

  1. 字符串,它是字符串<!DOCTYPE的ASCII不区分大小写匹配。

答案 4 :(得分:6)

大写或小写都是“正确”。但是,如果您使用Web字体并关心IE7,我建议使用<!DOCTYPE html>,因为IE7中的错误,如果使用<!doctype html>(例如在this answer中),Web字体有时会失败。< / p>

这就是为什么我总是大写doctype。

答案 5 :(得分:2)

这个问题意味着只有一个正确答案,提供两个选择,并要求我们选择一个。我建议对于HTML5,<!DOCTYPE html><!doctype html>都有效。

因此支持HTML5的浏览器会接受小写的浏览器并正确处理html。

以前浏览器并且忘记了HTML5,即使没有doctype,我也会尝试尽可能地处理HTML。如果他们不认识小写的doctype会做同样的事情。因此,没有必要将其设为大写,因为这些浏览器无论如何都无法完全实现任何HTML5声明。

答案 6 :(得分:0)

不区分大小写,所以

<!doctype html>
<!DOCTYPE html>
<!DOcTYPe htML>
<!doCTypE HTml>

<!doctype HTML>

都是有效的。

答案 7 :(得分:-1)

doctype声明不区分大小写,并且任何匹配的ASCII字符串

Html5 standard