DOCTYPE的作用和用法

DOCTYPE的作用和用法

声明帮助浏览器正确地显示网页

提示:请始终向 HTML 文档添加 声明,这样浏览器才能获知文档类型。

1.作用:

声明文档的解析类型(document.compatMode),避免浏览器的怪异模式。

document.compatMode:

BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面。

CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。

这个属性会被浏览器识别并使用,但是如果你的页面没有DOCTYPE的声明,那么compatMode默认就是BackCompat

这也就是恶魔的开始 -- 浏览器按照自己的方式解析渲染页面,那么,在不同的浏览器就会显示不同的样式。

如果你的页面添加了那么,那么就等同于开启了标准模式

那么浏览器就得老老实实的按照W3C的标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。(借鉴自https://www.cnblogs.com/baby-zhude/p/4191596.html)

 

2.使用:

声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

在 HTML 4.01 中, 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

在 HTML 4.01 中有三种 声明。在 HTML5 中只有一种:

声明没有结束标签。

声明对大小写不敏感。

HTML 4.01 Strict

该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

HTML 4.01 Transitional

该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。

"http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset

该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

"http://www.w3.org/TR/html4/frameset.dtd">

(选择性截取自w3c官方文档)

 

实战总结:

必须要加声明,有时候不加才可以正常显示网页是因为你的代码不符合规范,H5就严格按照H5的代码规范来写,就不会有问题,很多是因为缺少部分属性,例如没有指定css中容器尺寸等等。

                                 

                                                                                                                                                                          作者:scp

你可能感兴趣的:(doctype,前端)