各浏览器解析css有两种模式:quirks mode怪异模式,strict mode标准模式
- 产生原因:历史原因,早期浏览器解析并未遵循w3c标准——quirks模式,随着w3c的标准越来越重要,仿照w3c标准解析css的模式——strict mode标准模式;其实还有一种 almost strict mode,例如almost strict mode中,img是块元素。大多数doctype触发的都是almost strict mode
- 区别:
- 遵循的标准不同,对css的解释不同
- 体现在对盒模式的解释上:strict mode 采用content-box方法计算元素的宽高(标准盒模型);quirks mode 采用border-box方法计算(ie6盒模型)
- 看其他资料:strict mode 中 table字体大小会继承父元素的,quirks中不会。
- 浏览器如果判断用哪种方式解析:看doctype声明
- 没有doctype声明,采用quircks mode
- 有doctype声明的,详情见末尾插入的表
- 浏览器不能识别doctype,用strict mode
- 使用html4以下(不含html4),使用quirks mode
- 大部分有doctype声明的,都使用strick mode
- ie6中,doctype声明前有一个xml声明<!xml version="1.0" encoding="iso-88590-1"?>,采用quirks mode
- BackCompat:quirks mode
- CSS1Compat:strict mode
js中判断哪种模式:用document.compatMode
时间: 2024-10-12 14:42:02