CSS里怎么清除浮動
發(fā)表時(shí)間:2024-05-08 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]如果想要清楚浮動,那么首先你要弄清浮動產(chǎn)生的原因。本篇文章給大家歸納了浮動產(chǎn)生的原因以及副作用,還有最重要的,怎么清除浮動,清除浮動的方法。一、浮動產(chǎn)生原因一般浮動是什么情況呢?一般是一個(gè)盒子里使用了CSS float浮動屬性,導(dǎo)致父級對象盒子不能被撐開,這樣CSS float浮動就產(chǎn)生了。本來兩...
如果想要清楚浮動,那么首先你要弄清浮動產(chǎn)生的原因。本篇文章給大家歸納了浮動產(chǎn)生的原因以及副作用,還有最重要的,怎么
清除浮動,清除浮動的方法。
一、浮動產(chǎn)生原因
一般浮動是什么情況呢?一般是一個(gè)盒子里使用了CSS float浮動屬性,導(dǎo)致父級對象盒子不能被撐開,這樣CSS float浮動就產(chǎn)生了。
本來兩個(gè)黑色對象盒子是在紅色盒子內(nèi),因?yàn)閷蓚(gè)黑色盒子使用了float浮動,所以兩個(gè)黑色盒子產(chǎn)生了浮動,導(dǎo)致紅色盒子不能撐開,這樣浮動就產(chǎn)生了。
簡單地說,浮動是因?yàn)槭褂昧薴loat:left或float:right或兩者都是有了而產(chǎn)生的浮動。
二、浮動產(chǎn)生負(fù)作用
1、背景不能顯示
由于浮動產(chǎn)生,如果對父級設(shè)置了(CSS background背景)CSS背景顏色或CSS背景圖片,而父級不能被撐開,所以導(dǎo)致CSS背景不能顯示。
2、邊框不能撐開
如上圖中,如果父級設(shè)置了CSS邊框?qū)傩裕╟ss border),由于子級里使用了float屬性,產(chǎn)生浮動,父級不能被撐開,導(dǎo)致邊框不能隨內(nèi)容而被撐開。
3、margin padding設(shè)置值不能正確顯示
由于浮動導(dǎo)致父級子級之間設(shè)置了css padding、css margin屬性的值不能正確表達(dá)。特別是上下邊的padding和margin不能正確顯示。
三、css解決浮動,清除浮動方法
這里為了統(tǒng)一講解浮動解決方法,假設(shè)了有三個(gè)盒子對象,一個(gè)父級里包含了兩個(gè)子級,子級一個(gè)使用了float:left屬性,另外一個(gè)子級使用float:right屬性。同時(shí)設(shè)置div css border,父級css邊框顏色為紅色,兩個(gè)子級邊框顏色為藍(lán)色;父級CSS背景樣式為黃色,兩個(gè)子級背景為白色;父級css width寬度為400px,兩個(gè)子級css寬度均為180px,兩個(gè)子級再設(shè)置相同高度100px,父級css height高度暫不設(shè)置(通常為實(shí)際css布局時(shí)候這樣父級都不設(shè)置高度,而高度是隨內(nèi)容增加自適應(yīng)高度)。
父級CSS命名為“.div”對應(yīng)html標(biāo)簽使用“<div class="div">”
兩個(gè)子級CSS命名分別為“.div-left”“.div-right”
根據(jù)以上描述DIV給出對應(yīng)CSS代碼和HTML代碼片段
CSS代碼:
.div{ width:400px; border:1px solid #F00; background:#FF0}
.div-left,.div-right{ width:180px; height:100px;
border:1px solid #00F; background:#FFF}
.div-left{ float:left}
.div-right{ float:right}
對應(yīng)html源代碼片段:
<div class="div">
<div class="div-left">left浮動</div>
<div class="div-right">right浮動</div>
</div>
以下總結(jié)了幾點(diǎn)用于清除浮動的經(jīng)驗(yàn)教程
1、對父級設(shè)置適合CSS高度
對父級設(shè)置適合高度樣式清除浮動,這里對“.div”設(shè)置一定高度即可,一般設(shè)置高度需要能確定內(nèi)容高度才能設(shè)置。這里我們知道內(nèi)容高度是100PX+上下邊框?yàn)?px,這樣具體父級高度為102px
CSS代碼:
.div{ width:400px;border:1px solid #F00;background:#FF0; height:102px}
.div-left,.div-right{width:180px;height:100px;
border:1px solid #00F;background:#FFF}
.div-left{ float:left}
.div-right{ float:right}
CSS高度設(shè)置清除浮動法
使用height高度清除浮動
小結(jié),使用設(shè)置高度樣式,清除浮動產(chǎn)生,前提是對象內(nèi)容高度要能確定并能計(jì)算好。
2、clear:both清除浮動
為了統(tǒng)一樣式,我們新建一個(gè)樣式選擇器CSS命名為“.clear”,并且對應(yīng)選擇器樣式為“clear:both”,然后我們在父級“</div>”結(jié)束前加此div引入“class="clear"”樣式。這樣即可清除浮動。
具體CSS代碼:
.div{ width:400px;border:1px solid #F00;background:#FF0}
.div-left,.div-right{width:180px;height:100px;
border:1px solid #00F;background:#FFF}
.div-left{ float:left}
.div-right{ float:right}
.clear{ clear:both}
Html代碼:
<div class="div">
<div class="div-left">left浮動</div>
<div class="div-right">right浮動</div>
<div class="clear"></div>
</div>
使用CSS clear清除浮動
這個(gè)css clear清除float產(chǎn)生浮動,可以不用對父級設(shè)置高度 也無需技術(shù)父級高度,方便適用,但會多加CSS和HTML標(biāo)簽。
3、父級div定義 overflow:hidden
對父級CSS選擇器加overflow:hidden樣式,可以清除父級內(nèi)使用float產(chǎn)生浮動。優(yōu)點(diǎn)是可以很少CSS代碼即可解決浮動產(chǎn)生。
overflow:hidden解決CSS代碼:
.div{ width:400px;border:1px solid #F00;background:#FF0; overflow:hidden}
.div-left,.div-right{width:180px;height:100px;
border:1px solid #00F;background:#FFF}
.div-left{ float:left}
.div-right{ float:right}
HTML代碼不變。
為什么加入overflow:hidden即可清除浮動呢?那是因?yàn)閛verflow:hidden屬性相當(dāng)于是讓父級緊貼內(nèi)容,這樣即可緊貼其對象內(nèi)內(nèi)容(包括使用float的div盒子),從而實(shí)現(xiàn)了清除浮動。Css overflow:hidden清除浮動方法推薦使用。
以上三點(diǎn)即是兼容各大瀏覽器清除浮動的方法,其它有的瀏覽器不兼容有的不兼容的方法就沒必要介紹了,大家記住以上三點(diǎn)解決float浮動清除浮動方法。但這里推薦第三點(diǎn)和第二點(diǎn)解決清除浮動方法。
相信閱讀了這篇文章你已經(jīng)萬全了解了浮動這個(gè)屬性,有需要的朋友可以保存一下,也請大家持續(xù)關(guān)注本站的其他更新。
相關(guān)閱讀:
為什么HTML網(wǎng)頁亂碼與解決方法
HTML里的checkbo怎么使用
HTML里的命名規(guī)則
以上就是CSS里怎么清除浮動的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。