CSS制作網(wǎng)頁經(jīng)驗分享:網(wǎng)頁浮動的清理

字號:

CSS制作網(wǎng)頁經(jīng)驗分享:網(wǎng)頁浮動的清理

    在進行浮動布局時,大多數(shù)人都深知,在必要的地方進行浮動清理:

    。
    例如:
    

    
Some Content
    此時預覽此代碼,我們會發(fā)現(xiàn)最外層的父元素float container,并沒有顯示。這是因為子元素因進行了浮動,而脫離了文檔流,導致父元素的height為零。
    若將代碼修改為:
    

    
Some Content
    

    注意,多了一段清理浮動的代碼。這是一種好的CSS代碼習慣,但是這種方法增加了無用的元素。這里有一種更好的方法,將HTML代碼修改為:
    

    
Some Content
    定義CSS類,進行“浮動清理”的控制:
    Code:
    .clearfix:after {
     content: “.”;
     clear: both;
     height: 0;
     visibility: hidden;
     display: block;
    }
    這是對Firefox進行的處理,因為Firefox支持生成元素,而IE所有版本都不支持生成元素
    .clearfix {
     display: inline-block;
    }
    /* 這是對 Mac 上的IE瀏覽器進行的處理 */
    * html .clearfix {height: 1%;}
    /* 這是對 win 上的IE瀏覽器進行的處理 */
    .clearfix {display: block;}
    /* 這是對display: inline-block;進行的修改,重置為區(qū)塊元素*/
    會發(fā)現(xiàn)即使子元素進行了浮動,父元素float container仍然會將其包圍,進行高度自適應。
    clear元素的margin-top被重置為零。