在設計中經常會遇到這樣的問題:
當容器內部有float樣式時,容器的高度不會被撐開。css
第一種:在浮動元素後面加一個clear: both;比較常見的方法。html
<style type="text/css"> .left{float:left;} .right{float:right;} .clear{clear:both;} </style> <div> <div class="left"> </div> <div class="right"> </div> <div class="clear"> </div> </div>
缺點:兼容性不強,IE6下div.clear會有高度,須要height:0,overflow:hidden來解決;頁面有冗餘代碼。
第二種方法:clearfix;最完美的解決方法。spa
.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } .clearfix { display: inline-block; } html[xmlns] .clearfix { display: block; } * html .clearfix { height: 1%; }
或者設計
.clearfix{ zoom:1 } .clearfix:before,.clearfix:after{ content:'\0020'; display:block; overflow:hidden; visibility:hidden; width:0; height:0 } .clearfix:after{ clear:both }
用法:在浮動外的容器上加一個clearfix類。code
<div class="clearfix"> <div class="left"> </div> <div class="right"> </div> </div>
或者orm
<div class="panel clearfix"> 內容··· </div>