我不知道。写html代码的时候有没有想过DOCTYPE html >或者这一长串莫名其妙的DOCTYPE HTML public“-/W3C//dtdttml 4.01//en " " http://www . w3 . org/tr/HTML 4/strict . dtd " >?它是做什么的,为什么会有这句话?我不打算告诉你,我们经常在前端面试题中看到关于这个知识点的问题,但是我们往往爱追求高大上的页面效果却忽略了最基本的文档模式。没有文档模式的命令,怎么能得到高大上的页面效果!!那就来从这个总结中寻找答案吧!
文档模式:
这个概念是通过切换文档类型doctype来实现的,最后两种渲染模式是混杂模式和标准模式。这两种模式的区别在于,工作在不同版本的渲染引擎环境下,混杂模式会使IE的行为与IE5相同(包括非标准特性),而标准模式会使IE的行为更接近标准行为。这两种模式主要影响css内容的呈现,在某些情况下也会被JavaScript解释和执行(后面会详细讨论)。之后IE提出了近乎标准的模式。这种模式下的很多浏览器功能都是符合标准的,但不是全部。不规范的地方是在处理图片间隙时(在表格中使用图片时问题最明显)。标准模式和准标准模式非常接近,检测文档模式时不会发现差异。当这里提到标准模式时,我指的是除混杂模式之外的其他模式。
文档类型DOCTYPE的定义和用法:
您可以决定浏览器的工作模式。
但HTML5不是基于SGML的因此不需要引用DTD。在HTML4.01中,声明指的是DTD,因为HTML4.01是基于SGML(标准通用标记语言)的,SGML是目前普遍使用的超文本格式的最高级别标准,是一种可以定义标记语言的元语言。HTML和XML都是从中衍生出来的。XML可以看作是它的一个子集,XML的出现是为了语义网等更通用的目的而简化它,HTML就是它的应用之一)。DTD指定了标记语言的规则,因此浏览器的呈现可以遵循该规则,以便正确地呈现内容。
但是HTML5不是基于SGML的,所以不需要参考DTD。
文档类型DOCTYPE的语法:
顶级元素可用性“注册//组织//类型标签定义//语言”“URL”
此DTD包含所有HTML元素和属性,但不包含可公开和不推荐使用的元素(如font),并且不允许使用框架集。标签
doctype html public "-/W3C//dtdtdtXHTML 1.0 strict//en " " http://www . w3 . org/tr/XHTML 1/dtd/XHTML 1-strict . dtd " >[/div][