兼容IE6、IE7、IE8浏览器:触发IE浏览器的haslayout
(如果触发了 haslayout,IE 的调试工具 IE Developer Toolbar 中的属性中将会显示 haslayout 值为 -1。)解决ie下的浮动,margin重叠等一些问题。
hasLayout概念介绍:
haslayout 是 IE渲染引擎的一个内部组成部分,在IE中,有两种一个元素有两种计算自身的方式大小。IE 通过hasLayout属性来除非这两种计算方式
- 自己对自身的内容进行计算大小和组织(ture)当一个元素的 hasLayout属性值为true时,我们说这个元素有一个布局(layout)
- 依赖于父元素来计算尺寸和组织内容(false)[默认状态]
一个“layout元素”可以是一个默认就拥有 layout 的元素或者是一个通过设置某些 CSS 属性得到 layout的元素。通过 IE Developer Toolbar 可以查看 IE 下 HTML元素是否拥有haslayout,在 IE Developer Toolbar 下,拥有 haslayout的元素,通常显示为“haslayout = -1”。
参考资料: