kobe

快乐工作:前端;健康生活:篮球;爱笑笑

【转】margin-bottom在IE6和IE7下失效的解决办法

今天在处理页面边距时,又遇到这个问题,float元素在设定margin-bottom时在IE6和IE7下会失效,之前就碰到过,但是用其他的办法调试会就过去了,今天遇到就觉得非得正规整理一下,下面请看实例:

#box{width:600px; background:#E6FECB; border:3px solid #933; overflow:hidden;}
.float_div{float:left; margin:20px; width:100px; height:100px; display:inline; background-color:#CCC;}
</style>
<div id="box">
 <div class="float_div"></div>
 <div class="float_div"></div>
 <div class="float_div"></div>
</div>

其在IE6和IE7下显示效果为:

margin01 margin bottom在IE6和IE7下失效

margin:20px; 只有margin-bottom失效了。

解决办法:只要在浮动的最后一个元素后面加上“<div class="clear"></div>”,如下:

<style type="text/css">
#box{width:600px; background:#E6FECB; border:3px solid #933; overflow:hidden;}
.float_div{float:left; margin:20px; width:100px; height:100px; display:inline; background-color:#CCC;}
.clear{clear:both;}
</style>
<div id="box">
 <div class="float_div"></div>
 <div class="float_div"></div>
 <div class="float_div"></div>
 <div class="clear"></div>
</div>

margin02 margin bottom在IE6和IE7下失效

作为网页开发者肯定是经常处理这种情况的,也常在耳边听到清除浮动,上面的方法就是清除浮动,了解了这里产生的原因及解决办法才能真正掌握,不然像以前一样使用别的方法避开此问题,那下次还会遇到,抓住根本就好多了,float元素设定margin-bottom时在IE6和IE7下会失效,清除浮动即可解决,这也是用的比较多的办法!

还有个简单点的解决方法:

IE6/7下margin-bottom无效一般出现在容器里某元素设置后在父容器内无效,这个时候只需要在父容器中加入以下两句css,基本上所有的浏览器都兼容了:

overflow:hidden;zoom:100%;

这个方法不用添加额外的标签,也是很好的解决办法!

转自:http://www.tcreator.info/webSchool/xhtml-css/margin-bottom-failure-in-ie6-and-ie7-under.html

posted @ 2012-11-05 22:32  胡涛儿  阅读(456)  评论(0编辑  收藏  举报