jos*_*hnh 170 html html5 doctype
在编写HTML5 doctype时,正确的方法是什么?
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
要么
<!doctype html>
Run Code Online (Sandbox Code Playgroud)
Mat*_*ens 170
在HTML中,DOCTYPE不区分大小写.以下DOCTYPE均有效:
<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>
Run Code Online (Sandbox Code Playgroud)
在XML序列化(即XHTML)中,不需要DOCTYPE,但如果使用它,DOCTYPE则应为大写:
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
请注意,如果
DOCTYPE在XHTML文档中没有大写,则XML解析器将返回语法错误.第二部分可以用小写(
html),大写(HTML)或甚至混合大小写(hTmL)编写- 它仍然可以工作.但是,为了符合HTML兼容的XHTML文档的Polyglot标记指南,它应该用小写字母书写.
ucs*_*rge 37
如果有人在2014年仍在疑惑,请咨询:
HTML5
DOCTYPE必须按以下顺序包含以下组件:
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...
Run Code Online (Sandbox Code Playgroud)
注意:尽管显示在所有大写字母中,但规范表明它不敏感
XHTML5
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.
Run Code Online (Sandbox Code Playgroud)
查看XML规范,它列出了大写的DOCTYPE,但是我找不到任何声明需要"全部大写"的内容(为了比较,在上面列出的HTML5规范中,它显示在所有大写的示例中,但是规范明确规定是不区分大小写的.
多语言标记
能够提供也是格式良好的XML文档的HTML5文档有时很有价值.
Polyglot标记使用[HTML5]的8.1.1节指定的文档类型声明(DOCTYPE).此外,DOCTYPE符合以下规则:
* The string DOCTYPE is in uppercase letters.
Run Code Online (Sandbox Code Playgroud)
因此,请注意Ployglot Markup使用常规HTML5文档类型,但添加/更改.对于我们的讨论,最值得注意的是DOCTYPE 以全部大写形式声明.
合计
[意见]除非您特别考虑对其进行考虑,否则我不会过分担心满足XML合规性.对于大多数基于客户端和JS的服务器开发,JSON已经取代了XML.
因此,如果您尝试更新现有的基于xhtml/xml的遗留系统以与新的HTML5功能共存,我只能看到这种情况.如果是这种情况,那么请查看多语言标记规范.
Joh*_*lor 17
根据最新的规范,你应该使用不区分大小写的东西<!DOCTYPE html>.因此,虽然浏览器需要支持您喜欢的任何情况,但从此推断这<!DOCTYPE html>是规范的情况是合理的.
HTML5的标准是标签不区分大小写.
http://www.w3schools.com/html5/tag_doctype.asp
技术上更多:(http://www.w3.org/TR/html5/syntax.html)
DOCTYPE必须按以下顺序包含以下组件:
<!DOCTYPE.