溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS清除浮動的方法有哪些

發(fā)布時間:2020-08-24 10:40:48 來源:億速云 閱讀:167 作者:小新 欄目:web開發(fā)

這篇文章主要介紹CSS清除浮動的方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

首先這里就不講為什么我們要清楚浮動,反正不清除浮動事多多。

下面我就講三種常用清除浮動的方法,夠用了。

1、在浮動元素后面加一個空的div,并為它清除浮動

html代碼:

<div class="wrap">
   <div class="float">浮動</div>
   <div class="clear"></div>
   <div class="nofloat">不想被浮動影響</div>
</div>

css代碼:

.wrap{
  width:500px;
  height:400px;
  border:1px solid red;
  margin:0 auto;
}
.float{
  width:200px;
  height:200px;
  background:#ccc;
  float:left;
}
.nofloat{
    width:300px;
    height:150px;
    background:red;
}

現(xiàn)在雖然加了一個空的div,但是并沒有給它清除浮動,所以目前的效果就是第三個子元素.nofloat還是收到浮動的影響。

CSS清除浮動的方法有哪些

OK,現(xiàn)在給.clear加上清除浮動:

.clear{
    clear:both;
}

刷新一下效果就出來了:

CSS清除浮動的方法有哪些

PS:這種情況比較適合元素之間是垂直排列布局的,為了不受彼此浮動的影響。

2、利用BFC特性清除浮動

html代碼:

<div class="wrap">
   <div class="float">浮動</div>
   <div class="nofloat">不想被浮動影響</div>
</div>

css代碼:

.wrap{
  width:500px;
  border:1px solid red;
  margin:0 auto;
  overflow:hidden;
}
.float{
  width:200px;
  height:200px;
  background:#ccc;
  float:left;
}
.nofloat{
    width:300px;
    height:150px;
    background:red;
    overflow:hidden;
}

效果是這樣的:

CSS清除浮動的方法有哪些

這里父容器是沒有設(shè)置固定高度的,本來第一個子元素浮動之后,父元素的高度會塌陷到跟第二個子元素一樣高,但由于這里分別給第二個子元素和父元素都設(shè)置了overflow:hidden ,所以它們都生成了一個新的BFC區(qū)域,根據(jù)上文提供的BFC布局規(guī)則可以得知:BFC區(qū)域不會與float box 重疊;計算BFC高度時浮動元素的高度也參與計算。所以就得到清除浮動的效果。說得比較繞,但其實清除浮動得根據(jù)自己開發(fā)中的實際情況合理使用。

3、使用:after偽元素,給浮動元素的父元素清除浮動

html代碼:

<div class="wrap">
   <div class="float">浮動</div>
</div>

css代碼:

.wrap{
  width:500px;
  border:1px solid red;
  margin:0 auto;
}
.float{
  width:200px;
  height:200px;
  background:#ccc;
  float:left;
}

此時子元素浮動了,脫離了文檔流,所以父元素高度酒塌陷了:

CSS清除浮動的方法有哪些

可以看到父元素的邊框擠在一起了。

OK,現(xiàn)在給父元素添加一個clearfix類:

<div class="wrap clearfix">
   <div class="float">浮動</div>
</div>
.clearfix{
    *zoom:1;
}
.clearfix:after{
    content:'clear';
    display:block;
    height:0;
    clear:both;
    overflow:hidden;
    visibility:hidden;
}

現(xiàn)在刷新后的效果就是:

CSS清除浮動的方法有哪些

這種方法和BFC清除浮動個人用的比較多,實際開發(fā)中,其實這兩種就夠用了。

以上是CSS清除浮動的方法有哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI