如何确定使用哪个版本的HTML?

时间:2014-03-11 14:10:24

标签: html html5

如果页面以<html>标记开头而没有doctype,那么它是如何解释的?使用哪个版本的HTML?它可以被浏览器解释为HTML5或其他版本吗? 我该如何确定?

例如,请参阅下面的html文件。

<html>
<head>
</head>

<body>
<p> This is a paragraph </p>
</body></html>

3 个答案:

答案 0 :(得分:3)

  

如果页面以<html>标记开头而没有doctype,那么它是如何解释的?

使用the Quirks mode parser

  

使用哪个版本的HTML?

浏览器并不关心HTML的版本,只关心它们识别的元素和属性。

答案 1 :(得分:0)

请阅读本文,了解浏览器如何确定渲染模式(以及它们具有的模式):

https://hsivonen.fi/doctype/

大多数浏览器使用DTD(DocType声明)来确定渲染模式。 IE因为IE8也解释了X-UA-Compatible元标记以帮助确定。

  

附录:IE8的模式选择

     

开始:转到“X-UA-Compatible meta?”。

     

X-UA兼容元?

IE=7: Use IE7 Standards. 
IE=EmulateIE7: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
IE=IE8 or IE=IE7 or IE=a or IE=EmulateIE8 or absent or has script first: Go to “X-UA-Compatible HTTP Header?”. 
IE=8 or IE=Edge or IE=99 or IE=9.9: Go to “Almost Standards Doctype?”. 
IE=5: Use Quirks (IE 5.5).  
     

X-UA兼容的HTTP标头?

IE=7: Use IE7 Standards. 
IE=EmulateIE7: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
IE=IE8 or IE=IE7 or IE=a or IE=EmulateIE8 or absent: Go to “Display All Web Sites… Pref Set?”. 
IE=8 or IE=Edge or IE=99 or IE=9.9: Go to “Almost Standards Doctype?”. 
IE=5: Use Quirks (IE 5.5).  
     

古怪还是没有Doctype? (兼容模式)

Yes: Use Quirks (IE 5.5). 
No: Use IE7 Standards.  
     

显示所有网站...首页设置?

Yes: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
No: Go to “Display Intranet Sites… Pref Set?”.  
     

显示内部网站点...首页设置?

Yes: Go to “Is the site in the Intranet Zone?”. 
No: Go to “Domain on MS-Maintained List?”.  
     

该网站是否位于Intranet区域?

Yes: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
No: Go to “Domain on MS-Maintained List?”.  
     

MS维护列表上的域名?

Yes: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
No: Go to “Framed by Compatibility Mode page?”.  
     

按兼容模式页面框架?

Yes: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
No: Go to “Compatibility Mode Button Pressed?”.  
     

按下兼容模式按钮?

Yes: Go to “Quirky or No Doctype? (Compatibility Mode)”. 
No: Go to “Quirky or No Doctype? (IE8)”.  
     

古怪还是没有Doctype? (IE8)

Yes: Use Quirks (IE 5.5). 
No: Go to “Almost Standards Doctype?”.  
     

几乎标准的Doctype?

Yes: Use IE8 Almost Standards. 
No: Use IE8 Standards.

答案 2 :(得分:0)

根据W3C规范DOCTYPE here

  

doctype(有时大写为“DOCTYPE”)是一种特殊指令,由于遗留原因与浏览器中的处理模式有关,因此是HTML语法中任何文档的必需部分;

以及关于DOCTYPE here的旧版HTML4.01规范:

  

有效的HTML文档声明文档中使用的HTML版本。

DOCTYPE是任何HTML页面的必需部分,以便成为有效的HTML。没有它将导致浏览器具有特定于浏览器的页面解释,通常称为Quirks Mode。这在每个浏览器中都是不同的,永远不应该依赖。故事的寓意是始终在页面顶部加DOCTYPE