這篇文章將為大家詳細(xì)講解有關(guān)怎么用CSS清除浮動(dòng),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)長(zhǎng)期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吉林企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、做網(wǎng)站,吉林網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。css出現(xiàn)清除浮動(dòng)的問題的原因:在標(biāo)準(zhǔn)流下面,父元素沒有設(shè)置高度屬性,且父元素中的子元素是浮動(dòng),由于浮動(dòng)元素不再占用原文檔流的位置,浮動(dòng)元素的高度不會(huì)計(jì)算在父元素的高度中,即呈現(xiàn)塌陷的狀態(tài)。
一、為什么會(huì)出現(xiàn)清除浮動(dòng)的問題?
(學(xué)習(xí)視頻推薦:java視頻教程)
如果在標(biāo)準(zhǔn)流下面一個(gè)父元素沒有設(shè)置高度屬性,那么它的高度就會(huì)被子元素的高度撐開,即自適應(yīng)。但是如果這個(gè)父元素中的子元素是浮動(dòng)的話,由于浮動(dòng)元素不再占用原文檔流的位置,浮動(dòng)元素的高度不會(huì)計(jì)算在父元素的高度中,父元素的高度會(huì)為0,即呈現(xiàn)塌陷的狀態(tài)。我們?yōu)榱私鉀Q這類問題,提出了清除浮動(dòng)。
二、怎么用CSS清除浮動(dòng)?
1、直接給父元素添加高度
但是在浮動(dòng)元素高度不確定的時(shí)候不適用
2、直接利用clear:both
直接在父元素的最底下 添加一個(gè)塊級(jí)標(biāo)簽(p,div等),然后賦予它c(diǎn)lear:both 來清除浮動(dòng)。
但是這樣會(huì)產(chǎn)生大量沒有用的空元素,浪費(fèi)資源,不是最優(yōu)解
3、利用BFC:
(1)什么是BFC
直譯為"塊級(jí)格式化上下文"。它是一個(gè)獨(dú)立的渲染區(qū)域,是一個(gè)獨(dú)立的布局環(huán)境,其中的元素布局是不受外界的影響,并且在一個(gè)BFC中,塊盒與行盒(行盒由一行中所有的內(nèi)聯(lián)元素所組成)都會(huì)垂直的沿著其父元素的邊框排列。BFC就是頁(yè)面上的一個(gè)隔離的獨(dú)立容器,容器里面的子元素不會(huì)影響到外面的元素。反之也如此。
(2)解決方案一:
給父元素樣式添加overflow:hidden(只要不是visible),添加這個(gè)語(yǔ)句后,會(huì)創(chuàng)建一個(gè)BFC,會(huì)把浮動(dòng)元素困在BFC中,不讓其脫離文檔流,會(huì)先計(jì)算浮動(dòng)元素的高度,再hidden隱藏,父元素獲得高度,就會(huì)撐開
(3)解決方案二:
給父元素添加 浮動(dòng)float:right(只要不是none),添加這個(gè)語(yǔ)句也會(huì)創(chuàng)建一個(gè)BFC,原理相同,但是有時(shí)候我們不需要讓父元素浮動(dòng),與我們的需求相違背
4、利用偽類
通過父元素的::after偽元素來生成浮動(dòng)元素的兄弟元素,然后兄弟元素使用clear:both方法。
關(guān)于怎么用CSS清除浮動(dòng)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。