float:left || right ||none || inhert
無繼承性
left : 元素向父元素的左邊浮動
確定float元素的位置可以參照一下幾點(diǎn)規(guī)則:
①浮動元素的外邊距不會合并迷帜,浮動指浮動元素的外邊距與包含塊(最近的祖先塊級祖先元素)的內(nèi)容框(即不包含padding)左邊(右邊)對齊缸兔。
②浮動元素不會重疊娄蔼,除非margin為負(fù)值.浮動元素也不會超出包含塊內(nèi)容框诸典,除非margin為負(fù)值或者浮動元素的寬和高比包含塊的大豆拨,只有這兩種情況會超出龄句。
③在文檔結(jié)構(gòu)中笋籽,如果浮動元素前是塊級元素振诬,則浮動元素不會和塊級元素在一行。如果浮動元素后是塊級元素雨涛,則后面的塊級元素會忽略浮動元素枢舶,會和浮動元素在一行(但是此時浮動元素會覆蓋塊級元素的背景,還會影響塊級元素文字的位置替久,例如left浮動時凉泄,塊級元素的文字是不能在最左邊顯示的)。如果浮動元素前面或者后面是行內(nèi)元素(包含inline-block)蚯根,浮動元素的頂端會和行內(nèi)元素所在行的行框的(margin)頂端對齊后众,而且此時浮動元素會忽略元素在文檔中的順序,優(yōu)先排在左邊或者右邊颅拦。
④如果浮動元素的文檔順序在兩個塊級元素中間蒂誉,且塊級元素的外邊距有合并,此時后面的那個塊級元素和浮動元素在同一行距帅,浮動元素的margin頂端和后面塊級元素的padding頂端對齊右锨。如果兩塊級元素沒有外邊距合并,那么浮動元素的margin頂端和后面塊級元素的margin頂端對齊碌秸。
⑤浮動元素的頂端不能比之前所有浮動元素或塊級元素的頂端更高
⑥通過將父元素設(shè)置為浮動元素绍移,可以把浮動元素包含在父元素內(nèi),這樣父元素的高度就會被其子浮動元素?fù)纹稹?/p>
⑦當(dāng)浮動元素和行內(nèi)元素和塊級元素重疊時哮肚。行內(nèi)框和一個元素重疊時登夫,其邊框、背景和內(nèi)容都在浮動元素之上顯示允趟。塊級元素與浮動元素重疊時恼策,其邊框和背景在浮動元素之下,而內(nèi)容在浮動元素之上顯示潮剪。注意涣楷,默認(rèn)情況下,當(dāng)塊級元素和浮動元素重疊時抗碰,塊級元素里面的內(nèi)容(不管是文字還是其他的子元素)都會在浮動元素的margin邊框之后狮斗,除非浮動元素的margin為負(fù)值。
⑧清除浮動
clear : left || right || both || none
應(yīng)用于塊級元素 無繼承性
left:即元素的左邊不能出現(xiàn)浮動
如果一個塊級元素設(shè)置了clear,當(dāng)margin-top為0時弧蝇,浮動元素的margin為負(fù)值才會和浮動元素重疊碳褒,且位置最多上移到上面非浮動元素的底端折砸。如果塊級元素設(shè)置了margin-top,但是其值沒有浮動元素的margin框高沙峻,此時取浮動元素的margin框高度和塊級元素的margin-top中的大值作為塊級元素padding框與上面非浮動元素的底端的距離睦授。
在一個塊級元素中,其中的浮動元素是不會覆蓋同級的其他元素的摔寨,除非margin為負(fù)值去枷,但是可以覆蓋不在這個塊級元素中的內(nèi)容。