在文件流中,父元素的高度預設是被子元素撐開的如何開啟元素的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...