解決高度塌陷問題

2021-09-27 10:32:47 字數 951 閱讀 8506

在文件流中,父元素的高度預設是被子元素撐開的

當為子元素設定浮動後,子元素會完全脫離文件流

此時會導致子元素無法撐起父元素的高度,導致父元素的高度塌陷

由於父元素的高度塌陷了,則父元素下的所有元素都會向上移動, 導致頁面布局混亂

所以在開發中需要避免出現高度塌陷的問題

如何開啟元素的bfc

1.設定元素浮動

-使用這種方式開啟,雖然可以撐開父元素,但是會導致父元素的寬度丟失,

而且使用這種方式也會導致下邊的元素上移,不能解決

2.設定元素絕對定位

3.設定元素為inline-block

-可以解決問題,但是會導致寬度丟失,不推薦使用

4.將元素的overflow設定為乙個非visible的值

.box1

.box2

clear可以用來清除其他元素浮動對當前元素的影響

可選值:

none,預設值,不清除浮動

left,清除左側元素對當前元素的影響

right,清除右側

both,清除兩側元素對當前元素的影響

清除對他影響對最大的那個元素的浮動

解決高度塌陷方案二:

可以直接在高度塌陷的父元素的最後,新增乙個空白的div

由於這個div沒有浮動,所以是可以撐開父元素的高度的

然後再進行清除浮動,可以通過這個空白的div來撐開父元素的高度

基本沒有***

這種方式雖然可以解決問題,但是會在頁面中新增多餘的結構

最優解決方法

解決高度塌陷問題

所謂高度塌陷就是在文件流中,父元素的高度預設是被子元素撐開的,也就是子元素多高,父元素就多高。但是當為子元素設定浮動以後,子元素會完全脫離文件流,此時將會導致子元素無法撐起父元素的高度,導致父元素的高度塌陷。由於父元素的高度塌陷了,則父元素下的所有元素都會向上移動,這樣將會導致頁面布局混亂。例如 c...

高度塌陷問題

高度塌陷問題 描述1 如果父元素只包含浮動元素,且父元素未設定高度和寬度,那麼它的高度就會塌縮為零,也就是所謂的 高度塌陷 描述2 在文件流中,父元素的高度預設是被子元素撐開的,也就是子元素多高,父元素就多高。但是當子元素設定浮動之後,子元素會完全脫離文件流,此時將會導致子元素無法撐起父元素的高度,...

解決高度塌陷問題的方法

這段時間學習了html與css基礎,在學習盒子模型的過程中遇到了高度塌陷問題,那麼怎麼解決這個問題呢?charset utf 8 rel stylesheet type text css href css style.css 解決高度塌陷問題title head class box1 clearfi...