制作網(wǎng)頁(yè)如何用 CSS 清理浮動(dòng)
2012/3/27 10:21:11
制作網(wǎng)頁(yè)清理浮動(dòng)有很多種方式,像使用 br 標(biāo)簽自帶的 clear 屬,使用元素的 overflow,使用空標(biāo)簽來(lái)設(shè)置 clear:both 等等。但考慮到兼容問(wèn)題和語(yǔ)義化的問(wèn)題,一般我們都會(huì)使用如下代碼來(lái)清理浮動(dòng)。

    /* 清理浮動(dòng) */
    .clearfix:after {
    visibility:hidden;
    display:block;
    font-size:0;
    content:" ";
    clear:both;
    height:0;
    }
    .clearfix {
    zoom:1;
    }

其原理是,在「高級(jí)」瀏覽器中使用 :after 偽類在浮動(dòng)塊后面加上一個(gè)非 display:none 的不可見(jiàn)塊狀內(nèi)容來(lái),并給它設(shè)置 clear:both 來(lái)清理浮動(dòng)。在 ie6 和 7 中給浮動(dòng)塊添加 h as layout 來(lái)讓浮動(dòng)塊撐高并正常影響文檔流。

上面的代碼應(yīng)該是現(xiàn)在主流的清理浮動(dòng)方式。現(xiàn)在支付寶就使用這樣的方式。而現(xiàn)在,Nicolas Gallagher 給出了一個(gè)更簡(jiǎn)潔的方案:

    .cf:before, .cf:after {
        content:"";
        display:table;
    }
    .cf:after {
        clear:both;
    }
    .cf {
        zoom:1;
    }

原理還是一樣的。使用 :after 偽類來(lái)提供浮動(dòng)塊后的 clear:both。不同的是,隱藏這個(gè)空白使用的是 display: table。而不是設(shè)置 visibility:hidden;height:0;font-size:0; 這樣的 hack。

值得注意的是這里中的 :before 偽類。其實(shí)他是來(lái)用處理 top-margin 邊折疊的,跟清理浮動(dòng)沒(méi)有多大的關(guān)系。但因?yàn)楦?dòng)會(huì)創(chuàng)建 block formatting context,這樣浮動(dòng)元素上的另而一元素上如果剛好有 margin-bottom 而這個(gè)浮動(dòng)元素剛好有margin-top 的話,應(yīng)該讓他們不折疊。

返回列表
返回首頁(yè) 主站蜘蛛池模板: 97精品一区二区视频在线观看| 亚洲av无码国产精品色| 荡公乱妇蒂芙尼中文字幕| 国产精品无码久久久久久| jealousvue成熟50maoff老狼| 日本免费一区二区三区最新| 亚洲中文字幕第一页在线| 激情偷乱人伦小说视频在线| 午夜欧美日韩在线视频播放| 青青草91视频| 国产真实乱子伦精品视频| 91精品国产手机| 天海翼黄色三级| 三级黄色片免费看| 日本成人在线免费| 乱人伦视频中文字幕| 欧美成人四级剧情在线播放| 先锋影音av资源网| 美女把腿扒开让男人桶免费| 国产午夜在线观看| 韩国一区二区视频| 国产精品成熟老女人视频| 99福利在线观看| 妇乱子伦精品小说588| 中文字幕不卡在线观看| 日本高清xxxx| 亚洲18在线天美| 欧美性最猛xxxx在线观看视频| 人人狠狠综合久久亚洲婷婷| 精品人妻大屁股白浆无码| 国产一级大片免费看| 麻豆精品传媒视频观看| 国产熟女乱子视频正在播放| 2021国产麻豆剧传媒官网| 在线电影一区二区| tubesex69| 巨大挺进湿润黑人粗大视频| 中文字幕加勒比| 无遮挡一级毛片视频| 久久亚洲国产精品五月天婷| 日韩欧美一区二区三区免费观看|