這篇文章主要介紹“css清除浮動(dòng)的寫(xiě)法有哪些”,在日常操作中,相信很多人在css清除浮動(dòng)的寫(xiě)法有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”css清除浮動(dòng)的寫(xiě)法有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到巫山網(wǎng)站設(shè)計(jì)與巫山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋巫山地區(qū)。本文通過(guò)圖文并茂的形式給大家介紹了CSS浮動(dòng)與清除浮動(dòng)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,,需要的朋友可以參考下
一、float(浮動(dòng))是什么
float 屬性定義元素在哪個(gè)方向浮動(dòng)。
float:left 元素向左浮動(dòng)。
float:right 元素向右浮動(dòng)。
float:none 默認(rèn)值。元素不浮動(dòng),并會(huì)顯示在其在文本中出現(xiàn)的位置。
float:inherit 規(guī)定應(yīng)該從父元素繼承 float 屬性的值。
看一段簡(jiǎn)單的代碼:
左浮動(dòng)右浮動(dòng)喵.child1 { float: left; height: 500px; width: 70%; background: #aa0;//黃 } .child2 { float: right; height: 300px; width: 30%; background: #0aa;//青 } .child3 { background: #a0a;//紫 }
二、clear是什么
clear 屬性指定段落的左側(cè)或右側(cè)不允許浮動(dòng)的元素。
clear:left 在左側(cè)不允許浮動(dòng)元素。
clear:right 在右側(cè)不允許浮動(dòng)元素。
clear:both 在左右兩側(cè)均不允許浮動(dòng)元素。
clear:none 默認(rèn)值。允許浮動(dòng)元素出現(xiàn)在兩側(cè)。
clear:inherit 規(guī)定應(yīng)該從父元素繼承 clear 屬性的值。
比如上面的例子,我們?yōu)?child3 加上 clear: both; ,便可清除浮動(dòng)。(child3的左右兩側(cè)都不允許浮動(dòng)元素,自然而然不會(huì)再跟在倆浮動(dòng)元素的屁股后面了~)
那么,只在一側(cè)不允許浮動(dòng)是怎樣的呢?
本來(lái)是醬紫的:
那么,只在一側(cè)不允許浮動(dòng)是怎樣的呢?本來(lái)是醬紫的:child1右浮動(dòng)child2右浮動(dòng)哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈... .child1 { float: right; background: #aa0;//黃 } .child2 { float: right; background: #0aa;//青 }
然后,為 child2 加上 clear: right; ,在child2的右側(cè)不允許浮動(dòng)元素,所以child2就飄到了下一行。
那么,為 child1 加上 clear: left; 的時(shí)候,為什么不起效果呢?在這留個(gè)小彩蛋,歡迎大家留言討論~
三、浮動(dòng)帶來(lái)的影響
浮動(dòng)帶來(lái)的較大影響就是,當(dāng)父元素只包含浮動(dòng)的子元素的時(shí)候,父元素的高度就會(huì)塌陷( height 變?yōu)?0 )。
像醬紫:(parent高度為0,無(wú)法顯示粉色背景).parent { background: #FBC;//粉 }child1右浮動(dòng)child2右浮動(dòng)
四、清除浮動(dòng)的方式
1. 在父元素中的結(jié)尾加一個(gè)空 div
div
.child1 { float: right; background: #aa0; } .child2 { float: right; background: #0aa; }child1右浮動(dòng)child2右浮動(dòng)
可見(jiàn),空 div 高度為0,位于父盒子的最下面,使父盒子重新?lián)纹鹆藨?yīng)有的高度。
為什么要在最后加?倘若你在中間加,效果會(huì)是醬紫:
由于空 div 的左右都不允許浮動(dòng)元素,那么它就會(huì)另起一段,導(dǎo)致盒子位置的效果就像 child2 清除右側(cè)浮動(dòng)一樣, child2 跑到了 child1 下方。
2. 在父元素設(shè)置 overflow 屬性
? 原理:設(shè)置 overflow:hidden 或 overflow:auto ,瀏覽器會(huì)自動(dòng)檢查浮動(dòng)區(qū)域高度(才能知道父框的內(nèi)容有無(wú)溢出) ? 優(yōu)點(diǎn):瀏覽器支持好? 缺點(diǎn):子元素若超出父元素尺寸會(huì)被隱藏,或者父元素出現(xiàn)滾動(dòng)條
child1右浮動(dòng)child2右浮動(dòng)
當(dāng)設(shè)置 overflow:auto; 時(shí),父元素會(huì)出現(xiàn)滾動(dòng)條:
3.偽元素
? 原理:類(lèi)似設(shè)置clear屬性? 優(yōu)點(diǎn):瀏覽器支持好,普遍
.clearfix{ zoom: 1; //zoom(IE專(zhuān)有屬性)可解決ie6,ie7浮動(dòng)問(wèn)題 display: block; } .clearfix:after { content: "."; //content: "";也可 visibility: hidden; display: block; height: 0; clear: both; }child1右浮動(dòng)child2右浮動(dòng)
到此,關(guān)于“css清除浮動(dòng)的寫(xiě)法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!