2018-3-14 seo達人
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
浮動是什么?
浮動元素會脫離文檔流進行左浮或者右浮,直到碰到父級元素或者其他的浮動元素。
為什么清除浮動:浮動會導致父元素高度坍塌,因為浮動脫離文檔流,浮動以后不占文檔流的位置,撐開的父元素高度肯定會坍塌。
清除浮動的八種方法:
1、父級div給出固定的高度。手動定義height,這樣就解決了父級元素獲取不到高度的問題。
優點:代碼量少,簡單容易掌握。
缺點:只適合高度固定的布局,如果高度和父級div不同會出現問題。
2、overflow,設置overflow:hidden。
優點:代碼少,瀏覽器支持。
缺點:會把超出的部分隱藏起來,而且不能配合position使用
3、額外標簽,添加一個新的標簽,如div,或者br,并且設置標簽的屬性clear:both;清除浮動,讓父級能自動獲得高度。
優點:代碼少,瀏覽器支持,不會各種問題。
缺點:會有很多空的div或者br。
4、使用單偽類after和zoom,使用方法:
.clearfloat:after{
content:"";//設置內容為空
height:0;//高度為0
line-height:0;//行高為0
display:block;//將文本轉為塊級元素
visibility:hidden;//將元素隱藏
clear:both//清除浮動
}
.clearfloat{
zoom:1;為了兼容IE
}
優點:瀏覽器支持好,大型的瀏覽器都在使用,建議使用。
缺點:代碼多,需要after和zoom都要使用才能兼容主流的瀏覽器。
5、雙偽類清除浮動。使用方法:
.clearfloat:before,.clearfloatafter {
content: "";
display: block;
clear: both;
}
.clearfloat {
zoom: 1;
}
缺點:不嚴謹不建議使用
6、父級div跟著浮動,所有代碼一起浮動就會形成一個整體,
缺點:會產生新的問題,不建議使用。
7、父級定義display:table;將div屬性變成的表格。
缺點:產生新的問題,而且影響布局。
8、overflow:auto;需要設置width,不設置height,瀏覽器會自動檢測浮動區的高度。
缺點:容易生成滾動條。
藍藍設計( ssll180.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務