什么是haslayout?

Jit*_*yas 14 html css internet-explorer internet-explorer-6

我已经阅读了一些关于它的文章,但没有得到实际的内容.任何人都可以解释我.

它只与IE6有关吗?

这是什么zoom:1

layoutIE只有TAG吗?

编辑:

我发现这个信息对我来说非常有用

因为Internet Explorer太旧了(因为它是第一批可用的浏览器之一),所以它没有像现有浏览器那样重新开始.随着时间的推移,微软开始采用新引擎来利用CSS.看起来很好......然而,CSS改变了Internet Explorer引擎所基于的基本假设 - 任何重要的东西都是包含其所有内容的矩形.

因此,为了处理新的CSS标准,微软决定通过实现hasLayout属性来修复他们的古老引擎,而不是重建IE.Internet Explorer中的每个元素现在都具有hasLayout属性.根据元素,默认情况下设置为true或false.如果hasLayout设置为true - 该元素是一个独立的框,负责渲染自身.如果为false - 则元素依赖于hasLayout设置为true的父元素来呈现它.这是大多数IE漏洞变为现实的地方.

来源:http://bytesizecss.com/blog/post/fix-haslayout-with-one-line-of-css

我在这里又找到了一个讨论:http://www.molly.com/2007/03/30/back-to-work-someone-please-clearly-articulate-haslayout/

med*_*iev 14

它是HTML元素的非标准属性,只有IE7及更低版本支持(IE8兼容模式),如果触发,会导致元素以某种方式呈现(可能是意外的,随机的,可以是天赐或可能是地狱).

经典示例是为元素提供布局,以便它可以清除浮动.

#wrapper { zoom:1; }
Run Code Online (Sandbox Code Playgroud)

该元素现在将包含浮点数.除auto/normal之外的任何属性和值都将触发layout属性.

* display: inline-block
* height: (any value except auto)
* float: (left or right)
* position: absolute
* width: (any value except auto)
* writing-mode: tb-rl
* zoom: (any value except normal)
Run Code Online (Sandbox Code Playgroud)

请详细阅读@ http://reference.sitepoint.com/css/haslayout