HTML5学堂:怪异模式是“部分浏览器在支持W3C标准的同时还保留了原来的解析模式”,怪异模式主要表现在IE内核的浏览器。在IE6下,盒模型存在着一种怪异解析模式。接下来我们就一起来看看怪异解析的知识吧。
触发浏览器:IE6
触发条件:未进行文档声明。
BUG效果:盒模型的大小计算方法发生变化。
所谓宽高,通常指的是我们的内容区域大小,包括width以及height。而盒模型大小指的是外边距、内边距、边框以及内容区的和。换句话说,是由margin、padding、border、width和height组成的。
在正常解析模式下,盒模型的宽度 = width + margin(左右) + padding(左右) + border(左右)
在怪异解析模式下,盒模型的宽度 = width + margin(左右) 。(即width已经包含了padding和border值)
正常模式下,解析方法毋庸置疑,但是怪异解析,上面的这种说法还是不足够严谨的,为何这么说呢?可能也会有人跟我一样的想法,如果padding值以及border值的和大于了width值,那么在怪异解析下会是什么效果呢?
耳听为虚,眼见为实,一起看一下实例吧~
在谷歌下的显示效果为:
在IE6下的显示效果为:
欢迎沟通交流~HTML5学堂
在谷歌下的显示效果为:
在IE6下的显示效果为:
看完demo之后,我们可以得出一个基本结论,在IE6下,会以盒模型的宽度 = margin + width或者padding+border(两者取其大者)。如果盒模型当中存在内容,也会留有最小的内容区域。换句话说,上面的这个demo中,在IE6下,盒模型的大小为:margin:100px + 226px。
对于高度的计算同理,需要注意的是,也要考虑默认行高的大小。
怪异解析的规避方式非常简单:正常设置文档声明即可~
想说一句话,学习技术,应当多实践多总结,得到的一些结论,有时未必是正确的,有时可能是正确的,但并不是完善的。实践出真知,基于实践,总结出理论,才是学习技术的王道。等待着别人告知答案,有可能得不到真实的知识,也会失去学习知识的乐趣~
结束~~~
欢迎沟通交流~HTML5学堂