Doctype的作用
1.<!DOCTYPE>声明叫做文档类型DTD,它的作用就是用来标识浏览器使用哪种文档类型,让
浏览器知道以何种方式解析文档。
2.必须位于HTML文档的第一行,处于标签之前,但是不属于HTML文档标签。
3.声明文档的解析类型(
document.compatMode),是为了避免浏览器的怪异模式。
严格模式和混杂模式的区别,以及如何触发两种模式
1.严格模式:浏览器按照W3C的标准解析代码,又称为标准模式。
2.混杂模式:浏览器按照自己的方式来解析代码,以一种向后兼容的方式呈现。
3.Doctype可声明的三种DTD类型:严格版本,过渡版本,基于框架的HTML版本。
4.区别:浏览器使用严格模式和混杂模式,与文档中的DTD直接相关
(
1)如果用文档中包含严格的DOCTYPE,则以严格模式呈现(严格DTD--严格模式)
(
2)包含过渡DTD和URL的DOCTYPE,以严格模式呈现;包含过渡的DTD而没有URL,以
混杂模式呈现;(过渡DTD+URL--严格,过渡DTD(无URL)-- 混杂模式))
(
3)HTML5中没有DTD,没有严格和混杂模式的区分,HTML5中有相对宽松的语法,尽
可能实现向后兼容
(
4)DOCTYPE不存在或者格式不正确,以混杂模式呈现(
DTD不存在或格式不正确--混
杂模式)
5.严格模式和混杂模式解析语句的不同点
(
1)可以设置行内元素的宽高,在严格模式下给内联元素设置宽高都不起作用,在混杂
模式下生效
(
2)可设置百分比高度在严格模式下,如果没有给父元素设置高度,而子元素的高度以
百分比呈现,这时是不生效的
(
3)盒模型的宽高包含padding和border在W3C的标准下,给一个元素设置宽高,则呈现
的是内容的宽高。在IE5.5以下及其他浏览器的混杂模式下,盒子的宽度还包括padding和
border。
(
4)使用margin:0 auto在IE下会失效使用margin:0 auto在严格模式下会水平居中,而
在混杂模式下会失效,但可以设置text-align:center来水平居中。
(
5)混杂模式下的图片padding会失效,Table中的字体属性将无法继承父元素的设置,
white-space:pre会失效。
(
1)如果用文档中包含严格的DOCTYPE,则以严格模式呈现(严格DTD--严格模式)
(
2)包含过渡DTD和URL的DOCTYPE,以严格模式呈现;包含过渡的DTD而没有URL,以
混杂模式呈现;(过渡DTD+URL--严格,过渡DTD(无URL)-- 混杂模式))
(
3)HTML5中没有DTD,没有严格和混杂模式的区分,HTML5中有相对宽松的语法,尽
可能实现向后兼容(
4)DOCTYPE不存在或者格式不正确,以混杂模式呈现(
DTD不存在或格式不正确--混
杂模式)
本文介绍了DOCTYPE的作用,包括指定文档类型、触发浏览器的严格模式或混杂模式,并详细对比了这两种模式的区别。重点讲解了不同DTD声明对浏览器解析的影响,以及HTML5与DTD的关系。
286

被折叠的 条评论
为什么被折叠?



