浮動,float
意思就是把元素從常規(guī)文檔流中拿出來。
浮動元素脫離了常規(guī)文檔流之后,原來緊跟其后的元素就會在空間允許的情況下,向上提升到與浮動元素平起平坐。
如果浮動元素后面有兩個段落,而你只想讓第一段與浮動元素并列(就算旁邊還能 放下第二段,也不想讓它上來),怎么辦?用 clear 屬性來“清除”第二段,然后它 就乖乖地呆在浮動元素下面了。
clear:left
clear:right
clear:both
浮動元素位于“文檔流外 部”,因而它已經(jīng)不被包含在標(biāo)記中的父元素之內(nèi)了。正因為如此,它對布局可能產(chǎn) 生破壞性影響。
方法一,為父元素添加overflow:hidden
這個方法很簡單,缺點是不太直觀,即為父元素應(yīng)用overflow:hidden,以強制它 包圍浮動元素。
實際上,overflow:hidden聲明的真正用途是防止包含元素被超大內(nèi)容撐大。應(yīng)用 overflow:hidden之后,包含元素依然保持其設(shè)定的寬度,而超大的子內(nèi)容則會被容 器剪切掉。除此之外,overflow:hidden還有另一個作用,即它能可靠地迫使父元素 包含其浮動的子元素。
方法二,同時浮動父元素
父元素包圍其浮動子元素,同時讓父元素浮動起來。
方法三,添加非浮動的清除元素
強制父元素包含其浮動子元素的方法,就是給父元素的最后添加一個非浮動的子元素,然后清除該子元素。由于包含元素一定會包圍非浮動的子元素,而且清除會讓這個子元素位于(清除一側(cè))浮動元素的下方,因此包含元素一定會包含這個子元素——以及前面的浮動元素。