网页制作 
首页 > 网页制作 > 浏览文章

也谈谈罪恶的Haslayout haslayout解决之道

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )
什么是Haslayout?
    顾名思义,它的意思就是 --- has layout,是IE下的特有属性,通过 IE Developer Toolbar 可以查看 IE 下 HTML元素是否拥有haslayout,在 IE Developer Toolbar 下,拥有 haslayout的元素,通常显示为“haslayout = -1”。

hasLayout是一种只读属性,有两种状态 true/false,当其为true时,代表该元素有自己的布局,否则代表该元素的布局继承于父元素。

什么时候表明Haslayout = false?

    IE浏览器下的很多bug都是haslayout = false 引起的,所以出现下列问题,就很可能是haslayout跑出来捣鬼了。
      1.文字消失,截断
      2.边框消失
      3.3像素偏差
      4.绝对元素定位错误
      5.滤镜不生效
      6.滚动页面跳动
      7其他(欢迎补充哦~)
haslayout = true?
  haslayout是一种只读属性,不能人为设置,那该肿么办呢?
首先,IE下 有一些元素是默认带着 haslayout属性的:
   <table>
   <td>
   <body>
   <img>
   <hr>
   <input>
   <select>
   <textarea>
   <button>
   <iframe>
   <embed>
   <object>
   <applet>
   <marquee>
其他的就只能通过设置css 属性来触发haslayout = true,注意哦,haslayout = true一旦触发是不可逆转的~
触发的css 目前总结有:(欢迎补充哦)
1.position:absolute
2.float:left/right
3.display:inline-block
4.width,height:除“auto”外的任意值
5.zoom:除"normal"外 ...
and so on
上一篇:45个非常奇妙的CSS3 特性应用示例
下一篇:很实用的 轻量纯css多级下拉菜单
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网