html中的 !DOCTYPE html

173 阅读2分钟

首先,<!DOCTYPE html>不是一个标签,而是HTML文档的声明

并且,它必须作为HTML文档的第一行,位于html标签之前。

要在早期的 HTML 版本中,DOCTYPE 声明用于指定文档使用的 DTD,以便浏览器能够正确解析和渲染文档。但是在 HTML5 中,DOCTYPE 声明只是一个简单的标记,告诉浏览器使用 HTML5 标准解析文档。

所谓文档类型声明,就是定义一个标准用来解析文档的,解析html文档的标准有两种,一种是DTD,一种的HTML5

举个例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html>
<!-- 第一行声明引用HTML 4.01“严格”版的DTD。第二行声明引用HTML5标准 -->

什么是DTD?

全称Document Type Definition,即文档类型定义,用于文档结构的定义,包括定义文档的产品类型、格式、界面、特性和属性。

它是基于SGML的验证器可读取DTD,正确解析这些文档并执行验证。

SGML:HTML和XML派生于它,XML可以被认为是它的一个子集,而HTML是它的一个应用。

什么是HTML5?

  1. 它是一个新标准,有自己解析文档的方式,且不再基于SGML解析文档。
  2. 广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。

再来看看HTML各版本发布历史:

  • HTML1:1991年10月
  • HTML2:1995年11月24日
  • HTML3:1997年1月14日
  • HTML4:1997年12月18日
  • HTML5:2014年10月28日

HTML5标准与HTML4标准发布的时间间隔非常长,同时HTML5相比于以往的HTML版本有着非常大的差异,具体体现在:

  1. HTML5标准换了新的声明方式,更加简洁。
  2. 增加了新的特性:
  • 新的语义元素,比如 header, footer, article, section
  • 新的表单控件,比如数字、日期、时间、日历和滑块
  • 强大的图像支持(借由 canvas 和 svg)
  • 强大的多媒体支持(借由 video 和 audio)
  • 强大的新API,比如用本地存储取代 cookie
  1. 删除了一些元素,比如:
  • <acronym>
  • <applet>
  • <basefont>
  • <big>
  • <center>
  • <dir>
  • <font>
  • <frame>
  • <frameset>
  • <noframes>
  • <strike>
  • <tt>
  1. 其它