1. 程式人生 > >清除浮動的3種方式

清除浮動的3種方式

接觸前端至今已經2年多了,期間也有陸陸續續的學習,自感前端深似海,有時候學起來就有一種深深的無力感。但是我相信堅持下去必定有所收穫,所以打算改變以前的學習方式,自今天開始做一些知識點的總結,一方面可以自行快捷查閱,另一方面可以幫助到別人,何樂而不為呢?來日方長,各位前端老鐵加油吧!
下面我們進入文章的正題:

清除浮動常見的3種方式

  • overflow:hidden
  • clear:both
  • 偽元素after來清除浮動

實現場景

方法一

.box{
     overflow:hidden;
 }

  先找到浮動盒子的父元素,再在父元素中新增一個屬性:overflow:hidden,就是清除這個父元素中的子元素浮動對頁面的影響.
  注意:一般情況下也不會使用這種方式,因為overflow:hidden有一個特點,離開了這個元素所在的區域以後會被隱藏(overflow:hidden會將超出的部分隱藏起來).

方法二、(本人常用)

.clear{
   clear:both;
}

   在浮動的盒子之下再放一個標籤,在這個標籤中使用clear:both,來清除浮動對頁面的影響, 但是有兩種情況:
   1.在父標籤內部:會將這個浮動盒子的父盒子高度重新撐開.
   2.在父標籤外面:會將這個浮動盒子的影響清除,但是不會撐開父盒子.
  注意:一般情況下不會使用這一種方式來清除浮動。因為這種清除浮動的方式會增加頁面的標籤,造成結構的混亂.

方法三
.clearfix:after{
   content:”“;//設定內容為空
   height:0;//高度為0
   line-height:0;//行高為0
   display:block;//將文字轉為塊級元素
  visibility:hidden;//將元素隱藏
   clear:both//清除浮動
}
.clearfix{
   zoom:1;為了相容IE
}
類.clearfix應該作用於浮動元素的父親.