什么是Doctype

任何HTML文档都必须以文档类型声明(缩写为Doctype)开头,该声明告诉浏览器页面中使用的HTML版本

任何HTML文档都必须以文件类型声明(缩写doctype),它告诉浏览器页面中使用的HTML版本。

此doctype声明(不区分大小写):

<!DOCTYPE html>

告诉浏览器这是一个HTML5文件

浏览器渲染模式

使用此声明,浏览器可以在标准模式

没有它,浏览器将在怪癖模式

如果您从未听说过怪癖模式,则必须知道浏览器引入了此渲染模式,以使以“旧样式”编写的页面与所使用的新功能和标准兼容。没有它,随着浏览器和HTML的发展,旧页面将无法显示它们的外观,并且Web平台在这方面一直具有很好的保护作用(我认为这是其成功的一部分)。

除非浏览器识别页面是为标准模式编写的,否则它们基本上默认为怪癖模式。

您想要标准模式, 和

<!DOCTYPE html>

是获得它的方法。

对于Internet Explorer <= 10个用户,还需要格外小心,以避免出现怪癖模式,

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

在页面中<head>标签,然后再加载任何脚本。

较旧的HTML版本

HTML有一组奇怪的版本:

  • HTML(1991)
  • HTML 2.0(1995)
  • HTML 3.2 (1997)
  • HTML 4.01 (1999)
  • XHTML(2000)
  • HTML5(2014)

HTML 4.01严格文档的文档类型为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

XHTML类似于:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

他们需要DTD(文件类型定义),因为那些旧的HTML版本基于SGML(一种定义文档结构的格式)。

XHTML还要求html标签具有名称空间,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml">

这些doctype声明始终要求您将DTD声明保存在某个位置,因为几乎无法记住。此外,对于严格模式或过渡模式(不太严格),存在不同的DTD。

XHTML是XML词汇,而HTML4(及更低版本)是SGML应用程序。当前的HTML(HTML5)在很大程度上受HTML4的启发,但它不是SGML应用程序,并且放弃了许多严格的XHTML规则。

HTML5不是基于SGML,而是基于其自己的标准,因此不需要DTD,我们可以从以下非常简单的声明中受益:

<!DOCTYPE html>

免费下载我的JavaScript初学者手册


更多浏览器教程: