详解ie中的haslayout属性
来源:互联网 发布:网络安全产品排行 编辑:程序博客网 时间:2024/04/29 14:00
第一点,我们要知道什么是haslayout属性?
haslayout是微软Windows Internet Explorer渲染引擎的一个内部组成部分。在Internet Explorer中,会使用布局的概念来定位元素的尺寸和位置。
但是这样在ie中会导致很大的性能问题,ie团队为了减少性能的开销,决定将布局只应用在需要它们的元素上。
也就是说默认情况下,每个元素都应该有它自己的样式,但是在ie中有些元素的样式并没有激发出来,所以ie浏览器的bug很多。对于这些bug,只要我们将他的haslayout属性激发出来,就可以解决了。
haslayout有两个属性值true和false,为true的时候haslayout被激发,我们就可以说这个元素有一个布局。当一个元素有布局的时候,它就负责对自己和子孙元素进行尺寸的计算和定位。haslayout为只读属性,一旦触发就不可逆转。那么,如何检测haslayout是否被触发呢?通过IE Developer Toolbar可以查看IE下HTML元素是否拥有haslayout,在IE Developer Toolbar下,拥有haslayout的元素,通常显示为“haslayout = -1”。
第二点,默认拥有haslayout的属性:
<html> < body> < table > <tr> < td> < th> < img> < hr> < button> <input> <select> <iframe> <marquee> <embed> <object>
第三点,如何触发haslayout属性:
display
启动haslayout的值:inline-block
取消hasLayout的值:其他值
width/height:
启动haslayout的值:数值(除了auto的任意值)
取消hasLayout的值:auto
( 对 IE6 及更早版本来说很常用,该方法被称为霍莉破解(Holly hack),即设定这个元素的高度为 1% (height:1%;)。但是要注意,当这个元素的 overflow 属性被设置为 visible 时,这个方法就失效了。)position:
启动haslayout的值:absolute
取消hasLayout的值:static
float:
启动haslayout的值:left/right
取消hasLayout的值:none
zoom:
启动haslayout的值:数值
取消hasLayout的值:normal/空值
(ie私有属性)
ie7还有一些额外的属性可以触发该属性(不完全列表):
min-height: (任何值)
max-height: (任何值除了none)
min-width: (任何值)
max-width: (任何值除了none)
overflow: (任何值除了visible)
overflow-x: (任何值除了visible)
overflow-y: (任何值除了visible)
position: fixed
第四点:发现和引用:
因元素hasLayout而导致的问题其实一般都很容易发现:往往是内容出现错位甚至完全不可见,比如含浮动或者绝对定位子元素的容器高度会塌陷,在ie6/ie7下我们为其添加zoom:1属性就触发了haslayout,从而修复高度塌陷的问题;再比如,我们经常会碰到ie6和ie7同时出现的bug,这个时候可以考虑是否源于 haslayout,可以添加一些可以触发haslayout的属性来解决。
0 0
- 详解ie中的haslayout属性
- ie haslayout属性详解
- IE特有属性hasLayout
- IE的hasLayout属性
- IE Haslayout 详解
- IE hasLayout 属性简介[转]
- IE下的haslayout属性
- 能触发IE hasLayout的css属性
- 如何理解IE下的haslayout属性
- 你必须知道--IE中的hasLayout
- 你必须知道--IE中的hasLayout
- 对于IE浏览器中的HasLayout的认识
- ie haslayout
- ie haslayout
- IE haslayout 属性理解及相关bug调试与解决
- 对IE的hasLayout属性的讲解和解决方案
- haslayout详解
- haslayout详解
- timeout实验
- A+B for Input-Output Practice (V)
- Java读写ini文件
- Servlet实现页面的图片加载
- Android ViewPager画廊效果
- 详解ie中的haslayout属性
- python 获取当前时间
- Integer 中的缓存类IntegerCache
- 多线程的基本概念
- spring常用注解详情
- 安全问题
- 对话框AlertDialog的使用
- JS打开浏览器
- 实现购物商城的在价格中间打折----SpannableString类