清除浮動的方法

本章主要介紹三種常用的清除浮動的方法,主要包括:


[1] 增加一個空 div, 使用 clear:both 將浮動元素 "擠到" 父元素中

[2] 在父元素里增加 overflow: hidden

[3] 使用偽類 :after (推薦)


  • 清除浮動宜岛,其實就是清除元素被定義浮動之后帶來的脫離文檔流的影響。如果我們不想浮動元素后面的文字環(huán)繞著它身弊,而是希望后面的元素回歸到正常文檔流時候的布局列敲,這個時候我們可以使用清除浮動來實現(xiàn)。
  • 如果父元素不設(shè)置高度瘫絮,并且沒有使用清除浮動填硕,浮動的子元素就無法填入到父元素中鹿鳖,造成父元素高度塌陷壮莹。高度的塌陷使我們頁面后面的布局不能正常顯示。
<!DOCTYPE html>
<html>
<head>
    <title>清除浮動</title>
    <meta charset="utf-8">
</head>
<style type="text/css"> 
    /* 方法1: 增加一個空 div, 將浮動元素 "擠到" 父元素中 */
   .div1{ 
      width: 400px;
        border: 1px solid red; 
    }
   .div2{
        border: 1px solid red; 
        margin: 10px 0;
        width: 400px; 
    }
   .left{
        float: left;
        width: 20%;
        background:#DDD;
    }
   .right{
        float: right;
        width: 30%;
        background:#DDD;
   }
   .clear { clear: both; }    /* 關(guān)鍵代碼 */

   /* 方法2: 在父元素里增加 overflow: hidden */
   .overflow { overflow: hidden; }   /* 關(guān)鍵代碼 */

   /* 方法3: 使用偽類 :after (推薦) */
   /* 解析原理:
     1) display:block 使生成的元素以塊級元素顯示,占滿剩余空間;
     2) height:0 避免生成內(nèi)容破壞原有布局的高度涝滴。
     3) visibility:hidden 使生成的內(nèi)容不可見胶台,并允許可能被生成內(nèi)容蓋住的內(nèi)容可以進行點擊和交互;
     4)通過 content: " "生成內(nèi)容作為最后一個元素,至于content里面是點還是其他都是可以的诈唬,例如oocss里面就有經(jīng)典的 content:" ",有些版本可能content 里面內(nèi)容為空,firefox直到7.0 content:"" 仍然會產(chǎn)生額外的空隙铸磅;
     5)zoom:1 觸發(fā)IE hasLayout。 
     通過分析發(fā)現(xiàn)阅仔,除了clear:both用來閉合浮動的,其他代碼無非都是為了隱藏掉content生成的內(nèi)容,這也就是其他版本的閉合浮動為什么會有font-size:0, line-height:0空民。
    */

   .clearfix:before, .clearfix:after {
        content: " ";
        display: table;
    }
    .clearfix:after {
        clear: both;
    }
    .clearfix {
        *zoom: 1;  /* IE6羞迷、7的兼容性問題 */
    }

    /* 等價于 */
    .clearfloat:after { display:block; clear:both; content:""; visibility:hidden; height:0 }
    .clearfloat{ zoom:1; }

</style> 
<body>
  <!-- 方法1  -->
  <div class="div1"> 
    <div class="left">Left1</div> 
    <div class="right">Right1</div> 
    <div class="clear"></div>  <!-- 缺點: 添加一個額外的 div 標簽 -->
  </div>
  <div class="div2">方法1: 增加一個空 div, 將浮動元素 "擠到" 父元素中</div>

  <!-- 方法2  -->
  <div class="div1 overflow">   <!-- 缺點:會隱藏超出父元素的部分, 有時候這并不是預期的效果 -->
    <div class="left">Left2</div> 
    <div class="right">Right2</div> 
  </div>
  <div class="div2">方法2: 在父元素里增加 overflow: hidden</div>

  <!-- 方法3  -->
  <div class="div1 clearfix">   <!-- class="div1 clearfloat" 也可以 -->
    <div class="left">Left3</div> 
    <div class="right">Right3</div> 
 </div>
 <div class="div2">方法3: 使用偽類 :after (推薦)</div>
</body>
</html>
清除浮動的三種方法.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闭树,一起剝皮案震驚了整個濱河市荒澡,隨后出現(xiàn)的幾起案子报辱,更是在濱河造成了極大的恐慌单山,老刑警劉巖碍现,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昼接,死亡現(xiàn)場離奇詭異悴晰,居然都是意外死亡慢睡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來髓涯,“玉大人,你說我怎么就攤上這事纬纪“鳎” “怎么了摘仅?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵实檀,是天一觀的道長按声。 經(jīng)常有香客問我,道長签则,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任渐裂,我火速辦了婚禮豺旬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柒凉。我一直安慰自己族阅,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布膝捞。 她就那樣靜靜地躺著坦刀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蔬咬。 梳的紋絲不亂的頭發(fā)上鲤遥,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音林艘,去河邊找鬼盖奈。 笑死狐援,一個胖子當著我的面吹牛钢坦,可吹牛的內(nèi)容都是我干的究孕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼爹凹,長吁一口氣:“原來是場噩夢啊……” “哼蚊俺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起逛万,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤泳猬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后宇植,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體得封,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年指郁,在試婚紗的時候發(fā)現(xiàn)自己被綠了忙上。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡闲坎,死狀恐怖疫粥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腰懂,我是刑警寧澤梗逮,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站绣溜,受9級特大地震影響慷彤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怖喻,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一底哗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锚沸,春花似錦跋选、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恬叹,卻和暖如春候生,著一層夾襖步出監(jiān)牢的瞬間同眯,已是汗流浹背绽昼。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留须蜗,地道東北人硅确。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓目溉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親菱农。 傳聞我的和親對象是個殘疾皇子缭付,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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

  • 我們在日常開發(fā)布局中經(jīng)常會使用到流體布局的妖,流體布局用到的一個最重要的屬性就是浮動绣檬,今天就來看看浮動的相關(guān)知識。 1...
    一木_qintb閱讀 1,101評論 0 2
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案嫂粟? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,754評論 1 92
  • 前言 摘要: 浮動的元素可以向左或向右移動娇未,直到它的外邊緣碰到父容器或另一個浮動元素為止。由于浮動元素不在文檔的普...
    zouyang0921閱讀 377評論 0 2
  • 浮動是什么:浮動:浮動元素會脫離文檔流并向左右移動星虹,直到碰到父元素或者另一個浮動元素零抬。 浮動元素不屬于文檔中的普通...
    天外來人閱讀 466評論 0 1
  • 浮動float出現(xiàn)的本意是用來實現(xiàn)文字像流水一樣環(huán)繞浮動元素的效果卸亮。因為除了這個效果以外褥芒,float屬性的其他應用...
    自娛自楽閱讀 511評論 0 0