我们应该使用哪种DOCTYPE声明?

Nay*_*reh 10 html xhtml doctype

我已经阅读了许多关于DOCTYPE声明和三种变体的书籍:严格,过渡和框架集.

但我仍然无法完全理解他们的不同之处,实际上我不确定在创建我的网站时应该使用哪种变体.特别是我不明白严格和过渡之间的区别.

你能告诉我吗?

Que*_*tin 8

Frameset用于定义框架集的文档(然后将非框架集文档加载到框架中).框架通常是一个糟糕的设计选择,导致他们解决的问题更多.

Transitional或多或少是Strict加上你不应该使用的东西(主要是因为它们已被CSS取代).有一些例外,例如start具有支持使用它的一些好参数的属性(但通常不常用).

严格是HTML的核心,通常是最好的选择.

HTML 4.01是HTML的最新版本.

XHTML 1.0是用XML表示的HTML 4.01.它在Internet Explorer中不起作用,除非您假装它是HTML(text/html规范允许).

XHTML 1.1是XHTML 1.0 Strict加上目标属性加上Ruby(不是编程语言)加上一些其他的小调整.没有规范可以假装XHTML 1.1是HTML.

(五年前:HTML 5是一个草案规范,可能会有所变化,如果没有JavaScript在当今使用的大多数浏览器中备份它们,许多有趣的部分都无法正常工作.它缺乏成熟的验证工具.

HTML 4.01通常是最好的选择,但是如果你的发布系统中有一个XML工具链,那么XHTML 1.0是值得考虑的,如果你需要添加一些东西并且感觉生活在流血之中,那么HTML 5值得考虑优势是值得的.

简而言之:除非您知道为什么需要使用其他内容,否则请使用HTML 4.01 Strict.)

由于此答案最初编写,HTML 5已成为具有良好浏览器和工具链支持的标准.它是与浏览器实际工作方式最为一致的规范.如果需要XML支持,可以使用XML序列化.

简而言之:使用HTML 5 : <!DOCTYPE html>.