首頁  >  文章  >  web前端  >  什麼是css的高度塌陷

什麼是css的高度塌陷

青灯夜游
青灯夜游原創
2021-02-23 15:31:093666瀏覽

在文件流程中,父元素的高度預設是被子元素撐開的,也就是子元素多高,父元素就多高。但是當子元素設定浮動之後,子元素會完全脫離文檔流,此時將會導致子元素無法撐起父元素的高度,導致父元素的高度塌陷。

什麼是css的高度塌陷

本教學操作環境:windows7系統、CSS3版、Dell G3電腦。

如果父元素只包含浮動元素,且父元素未設定高度和寬度,那麼它的高度就會塌縮為零,也就是所謂的「高度塌陷」。

如果父級元素包含背景或邊框,那麼溢出的元素就不像父級元素的一部分了。

解決「高度塌陷」問題的方法:

# 一:給父元素一個固定的高度

缺點:給父元素固定高度違反了高度自適應的原則,不夠靈活,不建議使用。

方案二:為父元素新增屬性overflow: hidden;

優點:瀏覽器支援好,簡單;

缺點:當子元素有定位屬性時,設定overflow: hidden; 容器以外的部分會被裁切掉。

【推薦教學:CSS影片教學

方案三:在子元素的最後加上一個空的p ,並設定下方樣式

div{
clear: both;
height: 0;
overflow: hidden;
}

優點:所有瀏覽器都支持,而且容器溢位不會被裁剪;
缺點:在頁面中加入無意義的div,容易造成程式碼冗餘。

方案四:萬能清除浮動法

在父元素中內容的最後加上一個偽元素來實現第三種方案的功能,具體設定樣式如下:

父元素:

after{
content: "";
height: 0;
    clear: both;
display: block;
}

 優點:不會造成程式碼冗餘,剩餘程式碼效能最佳化,建議使用。

更多程式相關知識,請造訪:程式設計影片! !

以上是什麼是css的高度塌陷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn