首頁 >web前端 >css教學 >清除css浮動的方法

清除css浮動的方法

php中世界最好的语言
php中世界最好的语言原創
2018-03-20 13:59:431549瀏覽

這次帶給大家清除css浮動的方法,清除css浮動的注意事項有哪些,下面就是實戰案例,一起來看一下。

一,我們為什麼要浮動

為什麼要浮動,為什麼要清除浮動,以及清除浮動的方法。在網頁版面的時候有時需要元素並排顯示,如果不選擇浮動,那麼那些塊狀元素就會一行一行顯示,佔用空間不說,使用者體驗也是極為不好的。

以下是沒有浮動的元素代碼

<p class=“box”>
        <p class=“box01”></p>
        <p class=“box02”></p>
    </p>
 .box{
    background: #000;
}
.box01{
    width: 100px;
    height: 100px;
    background: red;
}
.box02{
    width: 100px;
    height: 100px;
    background: yellow;
}

1-1圖是沒有浮動的元素,1-2圖是外層容器的寬高,下文會說到此次用意

在我們為元素加上浮動之後,佈局就變了,兩個p並排顯示了,如圖1-3,是不是很神奇,哈哈

但大家有沒有發現最外一層的p背景色沒了,高度也變成了0,因為元素脫離的文檔流,在最外層的p中不佔空間,這時我們就需要清除浮動,清除由子元素浮動為父元素帶來坍塌的影響。 (注意這裡清除浮動不是指先前給子元素設定的浮動,二是清除浮動對父元素帶來的影響,希望大家能明白)。

二清除浮動有三種方法:

第一種:clear:both;

在父元素的裡面加入一個類別clear的p(跟box01,box02同級),然後再為這個類別加入屬性值clear:both;便可以清除浮動,以下是程式碼以及清除浮動之後的效果如圖1-3

<p class=“box”>
        <p class=“box01”></p>
        <p class=“box02”></p>
        <p class=“clear”></p>
    </p>
   .box{
    background: #000;
}
.clear{
    clear: both;
}
.box01{
    width: 100px;
    height: 100px;
    background: red;
    float: left;
}
.box02{
    width: 100px;
    height: 100px;
    background: yellow;
    float: left;
}

可以看到背景色出來了,而父元素的高正是100px,這是子元素撐開的。

第二種:overflow:hidden;

在父元素中加入overflow: hidden;也可以清除浮動,如下css程式碼,但不提倡使用這個方法, overflow: hidden;還有一個意思是隱藏超出的部分,處理不好還是會給頁面帶來麻煩。

.box{
        background: #000;
        overflow: hidden;
    }

第三種:clearfix;

如果你的頁面使用bootstrap框架,引入css文件,為父元素添加clearfix便可以清除浮動,這也是平時工作中最常用也是最受程式設計師喜歡的一種方法,只需添加一個類別便可,而clear:both則是向頁面多加了一個p。所以小編向大家推薦第三種方法。

如果你的頁面使用的不是bootstrap框架,那麼也有源碼供初學者參考,向clearfix添加偽類實現清除浮動。

<p class=“box clearfix”>
        <p class=“box01”></p>
        <p class=“box02”></p>
        <p class=“clear”></p>
    </p>
 .box{
    background: #000;
}
.clearfix:before,.clearfix:after{
    content: ”;
    display: table;//可以很好的解决浏览器兼容问题
}
.clearfix:after{
    clear: both;
}
.box01{
    width: 100px;
    height: 100px;
    background: red;
    float: left;
}
.box02{
    width: 100px;
    height: 100px;
    background: yellow;
    float: left;
}

我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

h5實現多圖片預覽上傳及點擊可拖曳控制項

S5讓分層螢幕適配

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn