事不过三,ie7 overflow:auto无效

ie7 overflow:auto无效

之前遇到这个bug,解决之,今天又遇到,还是不明白,又搜索发现解决方法很简单,一起看看。

产生原因:当父元素的直接子元素或者下级子元素的样式拥有position:relative属性时,父元素的overflow:auto属性就会失效。
解决办法:解决这个bug很简单,在父元素中使用position:relative;即可解决该bug。

代码bug重现

<ul>
<li>我是很努力的前端博客,希望你会喜欢</li>
<li>我是很努力的前端博客,希望你会喜欢</li>
<li>我是很努力的前端博客,希望你会喜欢</li>
<li>我是很努力的前端博客,希望你会喜欢</li>
<li>我是很努力的前端博客,希望你会喜欢</li>
</ul>
ul{overflow:auto; height:100px;}
li{position:relative; height:30px; line-height:30px;}

在ie7中是会出现奇怪bug,有滚动条出现,但是无法拉动滚动条。解决就是给ul{position:relative;}

IE7 float:right会换行

汗,以前以为是ie6才会出现,没想到ie7也同样有这个bug,网上很多说把float:right的元素放在最前面,这是有多么2的想法啊。牺牲一个元素的位置来解决这个bug,有时候你自己看代码时都有点无语,解决方法可以给父层加一个相对定位,然后给这个右边加一个绝对定位来实现。我觉得这样子比较靠谱点。

哎,以后要改为专门记录ie7的bug了,这是多么痛的领悟。

原文链接:事不过三,ie7 overflow:auto无效 版权所有,转载时请注明出处,违者必究。
注明出处格式:前端开发博客 (http://caibaojian.com/ie7bug.html)

发表评论

请登录后发表评论: