溫馨提示×

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

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

CSS如何清除浮動(dòng)

發(fā)布時(shí)間:2022-02-28 15:09:59 來(lái)源:億速云 閱讀:168 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要為大家展示了“CSS如何清除浮動(dòng)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“CSS如何清除浮動(dòng)”這篇文章吧。

CSS清除浮動(dòng)方法集合

一、浮動(dòng)產(chǎn)生原因    -   TOP

一般浮動(dòng)是什么情況呢?一般是一個(gè)盒子里使用了CSS float浮動(dòng)屬性,導(dǎo)致父級(jí)對(duì)象盒子不能被撐開(kāi),這樣CSS float浮動(dòng)就產(chǎn)生了。

CSS如何清除浮動(dòng)
浮動(dòng)產(chǎn)生樣式效果截圖

本來(lái)兩個(gè)黑色對(duì)象盒子是在紅色盒子內(nèi),因?yàn)閷?duì)兩個(gè)黑色盒子使用了float浮動(dòng),所以兩個(gè)黑色盒子產(chǎn)生了浮動(dòng),導(dǎo)致紅色盒子不能撐開(kāi),這樣浮動(dòng)就產(chǎn)生了。

簡(jiǎn)單地說(shuō),浮動(dòng)是因?yàn)槭褂昧薴loat:left或float:right或兩者都是有了而產(chǎn)生的浮動(dòng)。

二、浮動(dòng)產(chǎn)生負(fù)作用    -   TOP

1、背景不能顯示
由于浮動(dòng)產(chǎn)生,如果對(duì)父級(jí)設(shè)置了(CSS background背景)CSS背景顏色或CSS背景圖片,而父級(jí)不能被撐開(kāi),所以導(dǎo)致CSS背景不能顯示。

2、邊框不能撐開(kāi)
如上圖中,如果父級(jí)設(shè)置了CSS邊框?qū)傩裕╟ss border),由于子級(jí)里使用了float屬性,產(chǎn)生浮動(dòng),父級(jí)不能被撐開(kāi),導(dǎo)致邊框不能隨內(nèi)容而被撐開(kāi)。

3、margin padding設(shè)置值不能正確顯示
由于浮動(dòng)導(dǎo)致父級(jí)子級(jí)之間設(shè)置了css padding、css margin屬性的值不能正確表達(dá)。特別是上下邊的padding和margin不能正確顯示。

三、css解決浮動(dòng),清除浮動(dòng)方法    -   TOP

這里DIVCSS5為了統(tǒng)一講解浮動(dòng)解決方法,假設(shè)了有三個(gè)盒子對(duì)象,一個(gè)父級(jí)里包含了兩個(gè)子級(jí),子級(jí)一個(gè)使用了float:left屬性,另外一個(gè)子級(jí)使用float:right屬性。同時(shí)設(shè)置div css border,父級(jí)css邊框顏色為紅色,兩個(gè)子級(jí)邊框顏色為藍(lán)色;父級(jí)CSS背景樣式為黃色,兩個(gè)子級(jí)背景為白色;父級(jí)css width寬度為400px,兩個(gè)子級(jí)css寬度均為180px,兩個(gè)子級(jí)再設(shè)置相同高度100px,父級(jí)css height高度暫不設(shè)置(通常為實(shí)際css布局時(shí)候這樣父級(jí)都不設(shè)置高度,而高度是隨內(nèi)容增加自適應(yīng)高度)。

父級(jí)CSS命名為“.億速云”對(duì)應(yīng)html標(biāo)簽使用“<div class="億速云">”
兩個(gè)子級(jí)CSS命名分別為“.億速云-left”“.億速云-right”

根據(jù)以上描述DIVCSS5給出對(duì)應(yīng)CSS代碼和HTML代碼片段

CSS代碼:

.億速云{ width:400px; border:1px solid #F00; background:#FF0} .億速云-left,.億速云-right{ width:180px; height:100px;  border:1px solid #00F; background:#FFF} .億速云-left{ float:left} .億速云-right{ float:right}

對(duì)應(yīng)html源代碼片段:

<div class="億速云">     <div class="億速云-left">left浮動(dòng)</div>     <div class="億速云-right">right浮動(dòng)</div> </div>

CSS如何清除浮動(dòng)
清除浮動(dòng)前案例截圖父級(jí)需要清除浮動(dòng)

以下DIVCSS5總結(jié)了幾點(diǎn)用于清除浮動(dòng)的經(jīng)驗(yàn)教程

1、對(duì)父級(jí)設(shè)置適合CSS高度
對(duì)父級(jí)設(shè)置適合高度樣式清除浮動(dòng),這里對(duì)“.億速云”設(shè)置一定高度即可,一般設(shè)置高度需要能確定內(nèi)容高度才能設(shè)置。這里我們知道內(nèi)容高度是100PX+上下邊框?yàn)?px,這樣具體父級(jí)高度為102px

CSS代碼:

.億速云{ width:400px;border:1px solid #F00;background:#FF0; height:102px} .億速云-left,.億速云-right{width:180px;height:100px; border:1px solid #00F;background:#FFF} .億速云-left{ float:left} .億速云-right{ float:right}

Html代碼不變。得到截圖

CSS如何清除浮動(dòng)
使用height高度清除浮動(dòng)

小結(jié),使用設(shè)置高度樣式,清除浮動(dòng)產(chǎn)生,前提是對(duì)象內(nèi)容高度要能確定并能計(jì)算好。

2、clear:both清除浮動(dòng)
為了統(tǒng)一樣式,我們新建一個(gè)樣式選擇器CSS命名為“.clear”,并且對(duì)應(yīng)選擇器樣式為“clear:both”,然后我們?cè)诟讣?jí)“</div>”結(jié)束前加此div引入“class="clear"”樣式。這樣即可清除浮動(dòng)。

具體CSS代碼:

.億速云{ width:400px;border:1px solid #F00;background:#FF0} .億速云-left,.億速云-right{width:180px;height:100px; border:1px solid #00F;background:#FFF} .億速云-left{ float:left} .億速云-right{ float:right} .clear{ clear:both}

Html代碼:

<div class="億速云">     <div class="億速云-left">left浮動(dòng)</div>     <div class="億速云-right">right浮動(dòng)</div>     <div class="clear"></div> </div>

clear清除浮動(dòng)截圖

CSS如何清除浮動(dòng)
clear清除浮動(dòng)截圖 使用CSS clear清除浮動(dòng)

這個(gè)css clear清除float產(chǎn)生浮動(dòng),可以不用對(duì)父級(jí)設(shè)置高度 也無(wú)需技術(shù)父級(jí)高度,方便適用,但會(huì)多加CSS和HTML標(biāo)簽。

3、父級(jí)div定義 overflow:hidden
對(duì)父級(jí)CSS選擇器加overflow:hidden樣式,可以清除父級(jí)內(nèi)使用float產(chǎn)生浮動(dòng)。優(yōu)點(diǎn)是可以很少CSS代碼即可解決浮動(dòng)產(chǎn)生。

overflow:hidden解決CSS代碼:

  1. .億速云{ width:400px;border:1px solid #F00;background:#FF0; overflow:hidden} 

  2. .億速云-left,.億速云-right{width:180px;height:100px;
    border:1px solid #00F;background:#FFF} 

  3. .億速云-left{ float:left} 

  4. .億速云-right{ float:right} 

HTML代碼不變。

解決清除浮動(dòng)后截圖

CSS如何清除浮動(dòng)
overflow清除float產(chǎn)生浮動(dòng)截圖 overflow:hidden清除浮動(dòng)截圖

為什么加入overflow:hidden即可清除浮動(dòng)呢?那是因?yàn)閛verflow:hidden屬性相當(dāng)于是讓父級(jí)緊貼內(nèi)容,這樣即可緊貼其對(duì)象內(nèi)內(nèi)容(包括使用float的div盒子),從而實(shí)現(xiàn)了清除浮動(dòng)。Css overflow:hidden清除浮動(dòng)方法DIVCSS5推薦使用。

以上是“CSS如何清除浮動(dòng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

css
AI