1、浮動(dòng)具有破壞性,元素浮動(dòng)后,破壞來(lái)原來(lái)的正常流布局,造成內(nèi)容塌陷。
浮動(dòng)的子元素會(huì)造成父元素的高度塌陷.
第一種解決高度塌陷的方法就是使用overflow。
在父盒子上設(shè)置overflow: hidden;之后,父盒子具有的包裹性,就不會(huì)出現(xiàn)高度塌陷的問(wèn)題了。
2、Overflow可以觸發(fā)元素的BFC,可以讓元素具有獨(dú)立的排版的空間和權(quán)限,在bfc內(nèi)部所有的元素都依據(jù)父元素進(jìn)行排版和布局,所有父元素具有了包裹性,這就是解決高度塌陷問(wèn)題的原理。
比如:浮動(dòng)也可以觸發(fā)bfc,再有:定位、overflow、display:table、table-cell...
方法一:使用空標(biāo)記清除浮動(dòng),隔墻放。增加標(biāo)簽。
方法二:使用overflow屬性清除浮動(dòng)。會(huì)誤傷。
方法三:使用after偽對(duì)象清除浮動(dòng)。
方法四:使用before after偽對(duì)象清除浮動(dòng).
3、Clearfix的使用場(chǎng)景:
-父盒子要把所有的子盒子包裹住。
-父盒子是包裹正行的div元素,需要前后進(jìn)行清除浮動(dòng)。
運(yùn)用before after來(lái)設(shè)置content為空,并且display:block或table.
clearfix設(shè)置為觸發(fā)BFC.