DOCTYPE、严格模式和混杂模式

< ! DOCTYPE > 声明在文档的第一行。
它的作用是:告诉浏览器要以什么模式来解析文档。
包含两种模式:严格模式与混杂模式。
严格模式有时也叫标准模式,混杂模式有时也叫兼容模式。

严格模式与混杂模式:

  • 严格模式:渲染方式和JS引擎的解析方式以浏览器的最高标准执行
  • 混杂模式:向后兼容,防止浏览器无法兼容页面。

DTD(Document Type Definition)介绍

DTD,即Document Type Definition的缩写,中文是文档类型定义。
定义:

  • DTD是一组机器可读的规则,是对HTML文档的声明,会影响浏览器的渲染模式
  • DTD定义了XML或HTML特定版本中的所有允许元素及它们属性和层次关系
  • 解析网页时,浏览器会使用该规则检查页面的有效性并采取一定的规则

为什么HTML5不需要引入DTD

原因:

因为HTML5不再基于SGML,所以不需要再引入DTD。只需要< !DOCTYPE >声明告诉浏览器以何种模式解析HTML文档。

SGML的相关介绍在下文。

当然,HTML4.01就都是基于SGML的,所以需要引入DTD。

从DTD的定义:DTD定义XML或HTML特定版本中的… ,我们也能发现强调的DTD适用的是HTML的特定版本。那很好理解,HTML5就不是DTD适用的HTML特定版本咯 ~ 。但最主要的原因还是HTML5不基于SGML,所以不需要引入DTD。

SGML、HTML、XML、XHTML

  • SGML - Standard Generalized Markup Language(标准通用标记语言)是一种定义电子文档结构和描述其内容的国际标准语言,是所有电子文档标记语言的起源。
  • HTML - Hyper Text Markup Language(超文本标记语言)
  • XML - Extensible Markup Language(可拓展标记语言)
  • XHTML - eXtensible HyperText Markup Language (可扩展超文本标记语言)

XML与HTML的区别:

  1. XML的标签是可自己创建的;HTML的标签都是现有固定的。
  2. XML的标签数量无限多;HTML标签数量是有限的。

XHTML与HTML的区别:

  1. XHTML标签必须都是小写
  2. XHTML标签都有结束标签

其实XHTML和HTML没有什么本质区别,只是写法上比HTML有更严格的要求。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐