【hasLayout触发方式】
IE中的HTML元素要实现透明,则其必须具备layout,这样的元素有仅可读的属性hasLayout,且其值为true。具体情况如下:
关于hasLayout的更多详情可以看Exploring Internet Explorer “HasLayout” Overview和On having layout
http://dancewithnet.com/2009/09/06/css-opacity/
http://striblog.com/?p=13 http://hi.baidu.com/lijing00333/blog/item/bbfdd21424f5535bf2de3267.html
【hasLayout——IE中css bug的罪魁祸首】
什么是hasLayout? 要想更好的理解css,尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清楚的概念。大多IE下的显示错误,就是源于 haslayout。 什么情况下hasLayout不会出现? 一般情况都不会出现,当然除了下面罗列的默认具有hasLayout的元素和使用特定样式触发以外; hasLayout的触发条件: * position: absolute(IE5+) 清除或重置hasLayout: * position: static(IE5+) haslayout 问题的调试与解决 当网页在ff中表现正常,而在 IE7 或更早版本中有异常表现时,可以尝试激发 haslayout 来看看是不是问题所在。常用的方法是给某元素 css 设定zoom:1。使用 zoom:1 是因为大多数情况下,它能在不影响现有环境的条件下激发元素的 haslayout。而一旦问题消失,那基本上就可以判断是haslayout 的原因。然后就可以通过设定相应的 css 属性来对这个问题进行修正了。建议首先要考虑的是设定元素的width/height 属性,其次再考虑其他属性。 |