在進(jìn)行網(wǎng)頁(yè)布局時(shí),經(jīng)常會(huì)使用浮動(dòng)來(lái)對(duì)元素進(jìn)行定位和布局。但是這也帶來(lái)了一些問(wèn)題,比如父元素?zé)o法正確地包含子元素所占的空間,導(dǎo)致網(wǎng)頁(yè)看起來(lái)錯(cuò)亂。這時(shí)候就需要清除浮動(dòng)。
清除浮動(dòng)的方法有很多,以下是幾種常見(jiàn)的方法。
.clearfix::after { content: ""; display: table; clear: both; }
這是使用偽元素來(lái)清除浮動(dòng)的方法,將一個(gè)空的塊級(jí)元素插入到被浮動(dòng)元素的最后一個(gè)子元素后面,然后將該元素清除浮動(dòng)屬性設(shè)置為both,從而達(dá)到清除浮動(dòng)的效果。
.clearfix { overflow: hidden; }
這是使用使用 overflow 屬性來(lái)清除浮動(dòng)的方法,將父元素的 overflow 屬性設(shè)置為 hidden,這樣也能夠清除浮動(dòng)。
.parent { display: table; } .child { display: table-cell; }
這是使用 table 布局來(lái)清除浮動(dòng)的方法,將父元素的 display 屬性設(shè)置為 table,子元素的 display 屬性設(shè)置為 table-cell,從而達(dá)到清除浮動(dòng)的效果。不過(guò)這種方法的兼容性并不是很好,一般只在特殊情況下使用。
需要注意的是,清除浮動(dòng)一定要在布局完成之后進(jìn)行,否則會(huì)破壞布局。同時(shí),清除浮動(dòng)也不是一定要使用上面提到的方法,可以根據(jù)實(shí)際情況進(jìn)行選擇。