前端

严格模式与混杂模式

2017-05-29  本文已影响61人  Ann_l

之前作为前端小白的我,被面试官问到:严格模式与混杂模式的区别

不要怀疑,我肯定是一脸蒙蔽。

Doctype的作用:

简答:告诉浏览器,我要用啥规范解析文档。也就是告诉浏览器 ,该文件的类型。


严格模式:就是以W3C标准解析代码。(又称标准模式)

混杂模式:浏览器用自己的方式解析文档。(又称兼容模式)


如何区分:与网页中的DTD直接相关。

如何触发:

触发严格模式,就是正常的建立网页,声明正确的DTD,便是严格模式。

触发混杂模式可以通过在HTML文档开始不声明DTD,或者在DOCTYPE前加入XML声明l

version=”1.0〃 encoding=”utf-8〃?>来实现。


我觉得最重要的是:知道他们的差异

(1)盒模型不同

严格模式下,其高宽代表一个元素内容的高宽

混杂模式下,其高宽代表content+padding+border

(2)设置行内元素的高宽

严格模式下,不能给span等行内元素设置width和height

混杂模式下,可以设置

(3)设置百分比

严格模式下,一个元素的高度由其内容来决定。如果父元素没有设置高度,子元素设置百分比是无效的。

(4)水平居中

严格模式下:使用margin:0 auto

混杂模式下,用text-align

(5)混杂模式下,无法设置图片的padding,table字体不能继承上层设置,quirk模式下white-space:pre会失效

参考资料:

http://blog.csdn.net/binglingnew/article/details/17301433

http://www.cnblogs.com/wuqiutong/p/5986191.html

上一篇 下一篇

猜你喜欢

热点阅读