源碼:
<div id="div1"> <div class="left">left</div> <div class="right">right</div> </div> <div id="div2"> div2 </div>
.clearfix:before,.clearfix:after{display:table;content:"";} .clearfix:after{clear:both;} .clearfix{*zoom:1}//兼容IE6
visibility: hidden; height: 0;
}
#div1{zoom:1}//兼容IE
#div1{ width: 98%;display: table;
#div1{ width: 98%;float:left;
缺點:會產生新的浮動問題。
#div1{ height: 200px;
優點:簡單、代碼少、容易掌握
缺點:只適合高度固定的佈局,要給出精確的高度,如果高度和父級div不一樣時,會產生問題
<div id="div1" class="clearfix"> <div class="left">left</div> <div class="right">right</div> <div class="clr"></div> </div> <div id="div2"> div2 </div>
style:
.clr{ clear: both;}
原理:添加一個空div,利用css的clear:both清除浮動,讓父級div能自動獲取到高度
優點:簡單、代碼少、瀏覽器支持好、不容易出現怪問題
<div id="div1" class="clearfix"> <div class="left">left</div> <div class="right">right</div> <br class="clearfloat"/>
</div> <div id="div2"> div2 </div>
style:
.clearfloat{ clear: both;}