CSS制作網(wǎng)頁(yè)經(jīng)驗(yàn)分享:網(wǎng)頁(yè)浮動(dòng)的清理
時(shí)間:2010-11-03 16:22:00 來(lái)源:無(wú)憂考網(wǎng) [字體:小 中 大]在進(jìn)行浮動(dòng)布局時(shí),大多數(shù)人都深知,在必要的地方進(jìn)行浮動(dòng)清理:。
例如:
Some Content
此時(shí)預(yù)覽此代碼,我們會(huì)發(fā)現(xiàn)最外層的父元素float container,并沒(méi)有顯示。這是因?yàn)樽釉匾蜻M(jìn)行了浮動(dòng),而脫離了文檔流,導(dǎo)致父元素的height為零。
若將代碼修改為:
Some Content
注意,多了一段清理浮動(dòng)的代碼。這是一種好的CSS代碼習(xí)慣,但是這種方法增加了無(wú)用的元素。這里有一種更好的方法,將HTML代碼修改為:
Some Content
定義CSS類,進(jìn)行“浮動(dòng)清理”的控制:
Code:
.clearfix:after {
content: “.”;
clear: both;
height: 0;
visibility: hidden;
display: block;
}
這是對(duì)Firefox進(jìn)行的處理,因?yàn)镕irefox支持生成元素,而IE所有版本都不支持生成元素
.clearfix {
display: inline-block;
}
/* 這是對(duì) Mac 上的IE瀏覽器進(jìn)行的處理 */
* html .clearfix {height: 1%;}
/* 這是對(duì) win 上的IE瀏覽器進(jìn)行的處理 */
.clearfix {display: block;}
/* 這是對(duì)display: inline-block;進(jìn)行的修改,重置為區(qū)塊元素*/
會(huì)發(fā)現(xiàn)即使子元素進(jìn)行了浮動(dòng),父元素float container仍然會(huì)將其包圍,進(jìn)行高度自適應(yīng)。
clear元素的margin-top被重置為零。