清除浮動的最常用的四種方法,以及優(yōu)缺點

為什么要清除浮動萧诫?

清除浮動主要是為了解決斥难,父元素因為子級元素浮動引起的內(nèi)部高度為0的問題

1.如下,我給父盒子設(shè)置一個boder帘饶,內(nèi)部放兩個盒子一個box1 一個box2哑诊,未給box1和box2設(shè)置浮動,則他們會默認(rèn)撐開父盒子.


image.png

2.當(dāng)我們給內(nèi)部兩個盒子都加上float屬性的時候及刻。


image.png

我們已經(jīng)給box1和box2加上浮動屬性了镀裤,因為父元素沒有加高度導(dǎo)致底部黃色的盒子頂了上來,變成了一條線缴饭。

總結(jié)一下:
當(dāng)父元素不給高度的時候暑劝,內(nèi)部的子元素會自動撐開;而浮動時父元素會變成一條線颗搂。

那我們該怎么解決這個問題呢担猛,往下看。

清除浮動的方法(最常用的4種)

1.額外標(biāo)簽法(在最后一個浮動標(biāo)簽后,新加一個空div標(biāo)簽傅联,給其設(shè)置clear:both先改;)(不推薦)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .box {
            border:1px solid red;
            width:500px;
        }
        .box1 {
            width:100px;
            height:100px;
            background:pink;
            float:left;
        }
        .box2 {
            width:50px;
            height:50px;
            background:blue;
            float:left;
        }
        .footer {
            width:400px;
            height:50px;
            background:yellow;
        }
        .clear {
            clear:both;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="box1">box1</div>
        <div class="box2">box2</div>
        <div class="clear">額外的</div>
    </div>
    <div class="footer"></div>
</body>
</html>

效果如下:


image.png

如果我們清除了浮動,父元素就會自動檢測盒子最高的高度蒸走,然后與他同高仇奶。
優(yōu)點:通俗易懂,方便载碌。
缺點:添加無意義的標(biāo)簽猜嘱,語義化差。

2.父級添加overflow屬性(父元素添加overflow:hidden)(不推薦)
通過觸發(fā)BFC方式嫁艇,實現(xiàn)清除浮動

 .fahter{
        width: 400px;
        border: 1px solid deeppink;
        overflow: hidden;
    }

優(yōu)點:代碼簡潔
缺點:內(nèi)容增多的時候容易造成不會自動換行導(dǎo)致內(nèi)容被隱藏掉朗伶,無法顯示要溢出的元素(不推薦使用)

3.使用after偽元素清除浮動(推薦使用)

.clearfix:after{/*偽元素是行內(nèi)元素 正常瀏覽器清除浮動方法*/
        content: "";
        display: block;
        height: 0;
        clear:both;
        visibility: hidden;
    }
    .clearfix{
        *zoom: 1;/*ie6清除浮動的方式 *號只有IE6-IE7執(zhí)行,其他瀏覽器不執(zhí)行*/
    }
 
<body>
    <div class="fahter clearfix">
        <div class="big">big</div>
        <div class="small">small</div>
    </div>
    <div class="footer"></div>
</body>

優(yōu)點:符合閉合浮動思想步咪,結(jié)構(gòu)語義化正確

缺點:ie6-7不支持偽元素:after论皆,使用zoom:1觸發(fā)hasLayout.(推薦使用)

4.使用before和after雙偽元素清除浮動(代碼簡潔,推薦使用)

        .clearfix::before,
        .clearfix::after {
          content: "";
          clear: both;
          display: block;
        }

<div class="box clearfix">
       <div class="box1">box1</div>
       <div class="box2">box2</div>
   </div>
   <div class="footer"></div>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猾漫,一起剝皮案震驚了整個濱河市点晴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悯周,老刑警劉巖粒督,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異禽翼,居然都是意外死亡屠橄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門闰挡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锐墙,“玉大人,你說我怎么就攤上這事长酗∠保” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵夺脾,是天一觀的道長之拨。 經(jīng)常有香客問我,道長咧叭,這世上最難降的妖魔是什么敦锌? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮佳簸,結(jié)果婚禮上乙墙,老公的妹妹穿的比我還像新娘颖变。我一直安慰自己,他們只是感情好听想,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布腥刹。 她就那樣靜靜地躺著,像睡著了一般汉买。 火紅的嫁衣襯著肌膚如雪衔峰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天蛙粘,我揣著相機與錄音垫卤,去河邊找鬼。 笑死出牧,一個胖子當(dāng)著我的面吹牛穴肘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舔痕,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼评抚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了伯复?” 一聲冷哼從身側(cè)響起慨代,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啸如,沒想到半個月后侍匙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡叮雳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年想暗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片债鸡。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡江滨,死狀恐怖铛纬,靈堂內(nèi)的尸體忽然破棺而出厌均,到底是詐尸還是另有隱情,我是刑警寧澤告唆,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布棺弊,位于F島的核電站,受9級特大地震影響擒悬,放射性物質(zhì)發(fā)生泄漏模她。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一懂牧、第九天 我趴在偏房一處隱蔽的房頂上張望侈净。 院中可真熱鬧尊勿,春花似錦、人聲如沸畜侦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旋膳。三九已至澎语,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間验懊,已是汗流浹背擅羞。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留义图,地道東北人减俏。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像歌溉,于是被迫代替她去往敵國和親垄懂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 盒子的高度問題 1.標(biāo)準(zhǔn)流中盒子的高度可以被內(nèi)容高度撐起來;2.浮動流中浮動的內(nèi)容不能撐起盒子的高度; 為什么要清...
    壹點微塵閱讀 380評論 0 0
  • 一痛垛、CSS入門 1草慧、css選擇器 選擇器的作用是“用于確定(選定)要進(jìn)行樣式設(shè)定的標(biāo)簽(元素)”。 有若干種形式的...
    寵辱不驚丶?xì)q月靜好閱讀 1,595評論 0 6
  • 主要內(nèi)容: 浮動的介紹匙头、清除浮動漫谷、各種定位、BFC以及外邊距合并的介紹蹂析。 浮動 什么是浮動元素 浮動元素是floa...
    苦瓜_6閱讀 551評論 0 0
  • 關(guān)于清除浮動的四種方法 浮動對頁面的影響: 如果一個父盒子中有一個子盒子舔示,并且父盒子沒有設(shè)置高,子盒子在父盒子中進(jìn)...
    jrg陳咪咪sunny閱讀 694評論 0 1
  • 1.在什么場景下會出現(xiàn)外邊距合并俺祠?如何合并?如何不讓相鄰元素外邊距合并借帘?給個父子外邊距合并的范例 概念:在CSS當(dāng)...
    饑人谷_任磊閱讀 650評論 0 3