雖然說是清除浮動,實際上是清除浮動產生的影響。
浮動的元素,高度會塌陷,而高度的塌陷使咱們佈局中須要清除浮動的最重要的緣由之一。css
原理:父級div手動定義height,就解決了父級div沒法自動獲取到高度的問題。瀏覽器
優勢:簡單、代碼少、容易掌握佈局
缺點:只適合高度固定的佈局,要給出精確的高度,若是高度和父級div不同時,會產生問題網站
建議:不建議使用,只建議高度固定
的佈局時使用code
原理:添加一個空div,利用CSS提供的clear:both清楚浮動,讓父級div自動獲取高度it
優勢:簡單、代碼少,瀏覽器支持好,不容易出現怪問題io
缺點:若是頁面浮動佈局多,就要增長不少空divtable
建議:不推薦使用,但此方法是目前使用很頻繁的一種方法原理
原理:IE8以上和非IE瀏覽器才支持,原理相似2,zoom(IE專有屬性)可解決ie6,ie7浮動問題方法
優勢:瀏覽器支持好、不容易出現怪問題(目前:大型網站都有使用,如:騰迅,網易,新浪等等)
缺點:代碼多、很多初學者不理解原理,要兩句代碼結合使用才能讓主流瀏覽器都支持。
建議:推薦使用,建議定義公共類,以減小css代碼
原理:必須定義width或zoom:1,同時不能定義height,使用overflow:hidden時,瀏覽器會自動檢查浮動區域高度
優勢:簡單、代碼少、瀏覽器支持好
缺點:不能和position配合使用,由於超出的尺寸會被隱藏
建議:只推薦沒有使用position的朋友
原理:必須定義width或zoom:1,同時不能定義height,使用overflow:auto時,瀏覽器會自動檢查浮動區域的高度
優勢:簡單、代碼少、瀏覽器支持好
缺點:內部寬高超過父級div時,會出現滾動條。
建議:不推薦使用,若是你須要出現滾動條或者確保你的代碼不會出現滾動條就使用吧。
原理:全部代碼一塊兒浮動,就變成了一個總體
優勢:沒有優勢
缺點:會產生新的浮動問題。
建議:不推薦使用,只做瞭解。
原理:將div屬性變成表格
優勢:沒有優勢
缺點:會產生新的未知問題。
建議:不推薦使用,只做瞭解。
原理:父級div定義zoom:1來解決IE浮動問題,結尾處加 br標籤 clear:both
建議:不推薦使用,只做瞭解。