CSS元素高度塌陷的幾種常見解決辦法!

千鋒武漢發表於2021-07-05

      同學們在進行頁面佈局的時候,經常會使用到float浮動進行樣式控制,但如果我們沒有設定父元素的高度的時候使用浮動就會導致後面的子元素出現問題,也就是高度塌陷,下面小千就給大家介紹幾種常見的解決CSS高度塌陷的方法。

      1.父級div定義 height

web前端培訓1

      原理:父級div手動定義height,就解決了父級div無法自動獲取到高度的問題。

      優點:簡單、程式碼少、容易掌握

      缺點:只適合高度固定的佈局,要給出精確的高度,如果高度和父級div不一樣時,會產生問題

      建議:不推薦使用,只建議高度固定的佈局時使用

      2.結尾處加空div標籤 clear:both;

web前端培訓2

      原理:新增一個空div,利用css提高的clear:both清除浮動,讓父級div能自動獲取到高度

      優點:簡單、程式碼少、瀏覽器支援好、不容易出現怪問題

      缺點:不少初學者不理解原理;如果頁面浮動佈局多,就要增加很多空div,讓人感覺很不好

      建議:不推薦使用,但此方法是以前主要使用的一種清除浮動方法

      3.父級div定義 偽物件:after 和 zoom

web前端培訓3

      原理:IE8以上和非IE瀏覽器才支援:after,原理和方法2有點類似,zoom(IE轉有屬性)可解決ie6,ie7浮動問題

      優點:瀏覽器支援好、不容易出現怪問題(目前:大型網站都有使用,如:騰迅,網易,新浪等等)

      缺點:程式碼多、不少初學者不理解原理,要兩句程式碼結合使用才能讓主流瀏覽器都支援。

      建議:推薦使用,建議定義公共類,以減少CSS程式碼。

      4.父級div定義 overflow:hidden

web前端培訓4

      原理:必須定義width或zoom:1,同時不能定義height,使用overflow:hidden時,瀏覽器會自動檢查浮動區域的高度

      優點:簡單、程式碼少、瀏覽器支援好

      缺點:不能和position配合使用,因為超出的尺寸的會被隱藏。

      建議:只推薦沒有使用position或對overflow:hidden理解比較深的朋友使用。

      5.父級div定義 overflow:auto

web前端培訓5

      原理:必須定義width或zoom:1,同時不能定義height,使用overflow:auto時,瀏覽器會自動檢查浮動區域的高度

      優點:簡單、程式碼少、瀏覽器支援好

      缺點:內部寬高超過父級div時,會出現捲軸。

      建議:不推薦使用,如果你需要出現捲軸或者確保你的程式碼不會出現捲軸就使用吧。

      上面為大家介紹了五種常見的解決css元素高度塌陷的問題,同學們根據自己的實際情況去選擇使用即可。

       本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2779667/,如需轉載,請註明出處,否則將追究法律責任。

相關文章