关于haslayout

 简单记录,个人学习之用。部分资料来源互联网,部分引用链接在后面。

 

1、什么是haslayout

 

     haslayout是Windows IE渲染引擎的一个内部组成部分。在IE中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖与父元素来计算尺寸和组织内容。渲染引擎采用hasLayout的属性,属性值可以为true或者false。当一个元素的hasLayout属性值为true时,我们就说这个元素有一个布局(layout)

 

  •      当一个元素有一个布局时候,它负责对自己和可能的子孙元素进行尺寸计算和定位。一些元素默认会有一个布局。它的微软专有属性hasLayout被设为true。
  •      haslayout属性为只读属性
  •      并非所有的元素都默许有布局


2、 如何激发haslayout?

我常用的是zoom但是w3c的validate是过不去啊。
  • display:inline-block
  • height(值设置为除auto以外的)
  • width(值设置为除auto以外)
  • float(left或者right)
  • position:absolute
  • writing-mode:tb-rl(如果你不属性这个可以查看我写的博客文章)
  • zoom(值设为为除normal以外的)
IE7还有部分额外的属性
  • min-height
  • max-height(值设为为除none以外的)
  • min-width
  • max-width(值设为为除none以外的)
  • overflow(值设为为除visible以外的)
  • overflow-x(值设为为除visible以外的)
  • overflow-y(值设为为除visible以外的)
  • position:fixed
补充一下
  •    对于一下内联元素或者设置display:inline的元素,在兼容模式的IE6下,内联元素会忽略width和height,所以设置了width或者height不能使元素用于layout。
  •    使用zoom:1可以在不影响现有环境的基础上激发元素的haslayout
  •    霍莉破解(Holly hack)----设定元素的高度为1%。但是当元素的overflow属性设置为visible的时候,这个方法就失效了。

 

 

 

 

 

 

 

 

 

 

 

部分资料扩展:

1、http://baike.baidu.com/view/2945869.htm

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值