首頁 > web前端 > css教學 > 主體

使用CSS清除浮動方法總結

高洛峰
發布: 2017-03-24 16:35:15
原創
1491 人瀏覽過

本文主要介紹了CSS解決浮動清除浮動的幾種方法:1、設定父元素高度;2、overflow#;3、增加子元素(區塊級),並且設定其clear屬性值為both來解決(隔間法、內牆法);4、使用after或before物件清除浮動。下面跟著小編一起來看下吧

1、設定父元素高度

#如果一個元素要浮動,那麼它的祖先元素一定要有高度.高度的盒子,才能關住浮動

只要浮動在一個有高度的盒子中,那麼這個浮動就不會影響後面的浮動元素.所以就是清除浮動帶來的影響了.

弊端:工作上,我們絕對不會給所有的盒子加高度,這是因為麻煩,並且不能適應頁面的快速變化。

2、overflow

撐起父元素的高度

一個父親不能被自己浮動的兒子撐出高度。但是,只要給父親加上overflow:hidden; 那麼,父親就能被兒子撐出高了。

overflow:hidden;能夠讓margin生效。

overflow:hidden;
overflow:auto;
登入後複製

弊端:如果有溢出要顯示的內容,也都同時給隱藏了。

3、增加子元素(區塊級),並且設定其clear屬性值為both來解決

<p>
      <p></p>
      <p></p>
     <p></p>
  </p>
   <p>   → clear:both;
       <p></p>
       <p></p>
     <p></p>
  </p>
登入後複製

最簡單的清除浮動的方法,就是為盒子增加clear:both;表示自己的內部元素,不受其他盒子的影響。

弊端:就是margin失效。兩個p之間,沒有任何的間隙了。

3.1、隔牆法:

在兩個部分浮動元素中間,建造一個牆。隔開兩個部分浮動,讓後面的浮動元素,不去追前面的浮動元素。

牆用自己的身體當做了間隙。

<p>
       <p></p>
       <p></p>
       <p></p>
  </p>
   <p class="clear"></p>
   <p>
      <p></p>
      <p></p>
      <p></p>
  </p>
登入後複製

我們發現,隔牆法好用,但是第一個p,還是沒有高度。如果我們現在想讓第一個p,自動的根據自己的兒子,撐出高度。

3.2、內牆法:

#
<p>
       <p></p>
       <p></p>
       <p></p>
       <p class="clear"></p>
   </p>
  <p>
       <p></p>
      <p></p>
      <p></p>
  </p>
登入後複製

內牆法的優點就是,不僅能夠讓後部分的p不去追前部分的p了,並且能把第一個p撐出高度。

這樣,這個p的背景、邊框就能夠根據p的高度來撐開

4、使用after或before偽物件清除浮動

p:after{content:"";display:block;clear:both;}
p:before{content:"";display:block;clear:both;}
登入後複製

這種方式用的比較多,在專案中建議使用這種方式

以上是使用CSS清除浮動方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板