解决子级用css float浮动 而父级div没高度不能自适应高度

来源:互联网 发布:c 里基本蚁群算法 编辑:程序博客网 时间:2024/05/03 07:55

<div class="divcss5"> <div class="divcss5-lf"></div> <div class="divcss5-rt"></div> <div class="clear"></div> 

方法一: 在父元素的最后一个非浮动元素上加上clear样式,该方法同时解决了IE7-下浮动子元素的margin-bottom相对于父元素失效的BUG,若将

<div class="clear"></div>
放于父元素外(放其后面),即做为父元素的兄弟,也能解决IE7-下margin-bottom失效的BUG,但父元素将失去自适应高度


.divcss5{width:500px;border:1px solid #000;padding:10px} .divcss5-lf{ float:left; width:220px; height:100px; background:#000} .divcss5-rt{ float:right; width:230px; height:100px; background:#06F} .clear{ clear:both} 

方法二:直接父元素样式上加overflow:hidden; 但浮动子元素若超出,可能导致子元素被隐藏,且不能修复IE7-下margin-bottom失效的BUG

.divcss5{width:500px;border:1px solid #000;padding:10px; overflow:hidden } .divcss5-lf{ float:left; width:220px; height:100px; background:#000} .divcss5-rt{ float:right; width:230px; height:100px; background:#06F} 


方法三:直接父元素样式上加float:left; 与方法二一样, 不能修复IE7-下margin-bottom失效的BUG;其父元素需加上padding-bottom和min-height:样式才能在父元素没子元素下的难看,不同的是,当父元素宽度为100%了,还想让父元素有1px边框,而父元素的父元素有边框,此时用方法二就完美,1px自动算100%内部的,父元素还宽度还是100%;而用方法三父元素宽度为100%+2px;


转自:http://www.divcss5.com/jiqiao/j612.shtml

0 0
原创粉丝点击