摘要:一浮動(dòng)是什么屬性定義元素在哪個(gè)方向浮動(dòng)。元素不浮動(dòng),并會(huì)顯示在其在文本中出現(xiàn)的位置。在左右兩側(cè)均不允許浮動(dòng)元素。比如上面的例子,我們?yōu)榧由?,便可清除浮?dòng)。如下見證右浮動(dòng)右浮動(dòng)右浮動(dòng)右浮動(dòng)最后一個(gè)空到哪,的高度就到哪。
一、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)單的代碼:
二、clear是什么左浮動(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屬性指定段落的左側(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)?b>child3加上clear: both;,便可清除浮動(dòng)。(child3的左右兩側(cè)都不允許浮動(dòng)元素,自然而然不會(huì)再跟在倆浮動(dòng)元素的屁股后面了~)
那么,只在一側(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)父元素只包含浮動(dòng)的子元素的時(shí)候,父元素的高度就會(huì)塌陷(height變?yōu)?b>0)。
像醬紫:(parent高度為0,無(wú)法顯示粉色背景)
四、清除浮動(dòng)的方式.parent { background: #FBC;//粉 }child1右浮動(dòng)child2右浮動(dòng)
在父元素中的結(jié)尾加一個(gè)空div
原理:第二大點(diǎn)提到的clear屬性
優(yōu)點(diǎn):瀏覽器支持好
缺點(diǎn):如果頁(yè)面浮動(dòng)布局多,就要增加很多空div
.child1 { float: right; background: #aa0; } .child2 { float: right; background: #0aa; }child1右浮動(dòng)child2右浮動(dòng)
可見,空div高度為0,位于父盒子的最下面,使父盒子重新?lián)纹鹆藨?yīng)有的高度。
為什么要在最后加?倘若你在中間加,效果會(huì)是醬紫:
由于空div的左右都不允許浮動(dòng)元素,那么它就會(huì)另起一段,導(dǎo)致盒子位置的效果就像child2清除右側(cè)浮動(dòng)一樣,child2跑到了child1下方。
可為啥parent父盒子的高度是一個(gè)child1盒子的高度?
因?yàn)?strong>浮動(dòng)元素會(huì)脫離標(biāo)準(zhǔn)文檔流,元素“浮”在標(biāo)準(zhǔn)流之上。父盒子多高和child1、child2在哪里沒關(guān)系,空div多“高”,父盒子就多“高”。
如下見證:
child1右浮動(dòng)child1右浮動(dòng)child2右浮動(dòng)child2右浮動(dòng)
最后一個(gè)空div到哪,parent的高度就到哪。
在父元素設(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)條:
偽元素
原理:類似設(shè)置clear屬性
優(yōu)點(diǎn):瀏覽器支持好,普遍
.clearfix{ zoom: 1; //zoom(IE專有屬性)可解決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)
完~若有不足,請(qǐng)多指教,不勝感激!歡迎路過(guò)的大俠討論~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/114534.html
摘要:并最終窗體自上而下分成一行行,并在每行中從左至右的順序排放元素。宋體清除浮動(dòng)這是專業(yè)術(shù)語(yǔ),其實(shí)就是需要我們解決浮動(dòng)帶來(lái)的影響宋體父元素的高度塌陷宋體。相對(duì)定位的參考點(diǎn)是自身。 一、浮動(dòng) 1.1 各個(gè)語(yǔ)言的主要知識(shí)點(diǎn) HTML:標(biāo)簽語(yǔ)義化(那么怎么樣布局才是合理的?沒有絕對(duì)的對(duì)和錯(cuò)) CSS: 樣式: 布局: 標(biāo)準(zhǔn)流(標(biāo)準(zhǔn)文檔流、普通文檔流):盒子模型(width/height...
摘要:中是這樣定義的屬性指定一個(gè)元素應(yīng)沿其容器的左側(cè)或右側(cè)放置,允許文本和內(nèi)聯(lián)元素環(huán)繞它。其同樣適用于設(shè)置屬性為絕對(duì)定位或固定定位的內(nèi)聯(lián)元素。至于為什么,可以理解為內(nèi)聯(lián)元素沒有盒模型,其高度由內(nèi)容決定。 白話:即上一篇我腦中飄來(lái)飄去的css魔幻屬性自己的文章推出之后,這是自己寫的第四篇CSS相關(guān)的文章,文章絕大部分是自己工作總結(jié)得來(lái),另一部分是平日sf回答的與面試中向面試官交流學(xué)到的,都是一...
摘要:但是,從字體上來(lái)說(shuō)雪碧圖制作,使用以及相關(guān),圖文。由于采用了編譯,所以能夠保證在瀏覽器不支持標(biāo)準(zhǔn)布局的情況下,回滾到舊版本的,保證移動(dòng)設(shè)備中能呈現(xiàn)出一樣的布局效果。我不想陷入和的紛爭(zhēng),但是有一件事是確定的極大的提升了移動(dòng)端 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問(wèn)題:怎樣通過(guò) CSS 簡(jiǎn)單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 ...
摘要:但是,從字體上來(lái)說(shuō)雪碧圖制作,使用以及相關(guān),圖文。由于采用了編譯,所以能夠保證在瀏覽器不支持標(biāo)準(zhǔn)布局的情況下,回滾到舊版本的,保證移動(dòng)設(shè)備中能呈現(xiàn)出一樣的布局效果。我不想陷入和的紛爭(zhēng),但是有一件事是確定的極大的提升了移動(dòng)端 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問(wèn)題:怎樣通過(guò) CSS 簡(jiǎn)單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 ...
摘要:目錄一大結(jié)構(gòu)上的導(dǎo)航欄和內(nèi)容區(qū)域兩欄布局博客園為例騰訊課堂個(gè)人中心頁(yè)慕課網(wǎng)個(gè)人中心頁(yè)個(gè)人中心頁(yè)二版的結(jié)構(gòu)三類似九宮格布局的兩列結(jié)構(gòu)四圖文兩列布局左圖右文字非垂直居中,左圖,右固定行數(shù)的文字,右側(cè)文字和左邊圖片垂直居中。目錄:一、大結(jié)構(gòu)上的導(dǎo)航欄和內(nèi)容區(qū)域兩欄布局1、博客園為例2、騰訊課堂個(gè)人中心頁(yè)3、慕課網(wǎng)個(gè)人中心頁(yè)4、github個(gè)人中心頁(yè)二、mini版的nav+cont結(jié)構(gòu)三、類似九宮格...
閱讀 2327·2021-11-23 09:51
閱讀 3760·2021-11-11 10:57
閱讀 1407·2021-10-09 09:43
閱讀 2496·2021-09-29 09:35
閱讀 2026·2019-08-30 15:54
閱讀 1796·2019-08-30 15:44
閱讀 3191·2019-08-30 13:20
閱讀 1700·2019-08-30 11:19