码迷,mamicode.com
首页 > 其他好文 > 详细

haslayout

时间:2020-08-02 12:46:20      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:mbed   auto   span   applet   sel   问题   min   over   osi   

1.什么是haslayout?

layout是wiendows IE的一个私有概念,它决定了元素如何对其内容定位和尺寸计算,以及与其他元素的关系和相互作用。当一个元素“拥有布局”时,它会负责本身及其子元素的尺寸和定位。而如果一个元素“没有拥有布局”,那么它的尺寸和位置由最近的拥有布局的祖先元素控制。

必须说明的是,ie8及以上浏览器使用了全新的显示引擎,已经不再使用haslayout属性,因此haslayout属性只针对ie6和ie7。

2、为什么会有haslayout

理论上说,每个元素都应该控制自己的尺寸和定位,即每个元素都应该“拥有布局”,当然这只是理想状态。而对于早期的ie显示引擎来说,如果所有元素都“拥有布局”的话,会导致很大的性能问题。

因此ie开发团队决定使用布局概念来减少浏览器的性能开销,即只将布局应用于实际需要的那些元素,

所以便出现了“拥有布局”和“没有拥有布局”两种情况。

3、默认拥有布局的元素

html,body,table,tr,td,img,hr,

input,select,textarea,button,

iframe,embed,object,applet,marquee,

4、怎么触发haslayout

float:left或right

display:inline-block

position:absolut

width:除auto外任何值

height:除auto外任何值

zoom:除normal外任何值

writing-mode:tb-rl

5、在ie7中,以下属性也可以触发元素的haslayout

min-height:任意值

min-width:任意值

max-height:除none外任意值

max-width:除none外任意值

overflow:除visible外任意值,仅用于块级元素

overflow-x:除visible任意值,仅用于块级元素

overflow-y:除visible任意值,仅用于跨级元素

position:fixed;

haslayout

标签:mbed   auto   span   applet   sel   问题   min   over   osi   

原文地址:https://www.cnblogs.com/LiuQyu/p/13418444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!