hasLayout 是Windows  Internet  Explore 渲染引擎的一个内部组成部分。在 Internet Explore 中,一个元素要么自己对自身内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。为了调节这两个不同的概念,渲染引擎采用了hasLayout 的属性,属性值可以为true或者false。当一个元素的属性值为true时,我们就说这个元素有一个布局(Layout)。部分的IE显示的错误,都可以激发元素的 hasLayout 属性来修正。可以通过设置css尺寸属性(width或height)等激发元素的 hasLayout ,使其“拥有布局” 。如下所示 ,通过设置以下css属性即可:

display:inline-block

height:任何值除了auto

float:left/right

position:absoult

width:任何值除了auto

writing-model:tb-rl

zoom:任何值除了normal

Internet Explorer 7 还有一些额外的属性(不完全列表)

min-height:任意值

max-height:任意值除了none

min-width:任意值

max-width:任意值除了none

overflow:任意值除了visible

overflow-x:任意值除了visible

overflow-y:任意值除了visible

position:fixed