前段時間寫過一篇CSS基礎(chǔ)知識之position,當(dāng)時對float的理解不太準確,被慕課網(wǎng)多名讀者指出(原文已修正,如有誤導(dǎo)實在抱歉)。現(xiàn)對float進行更深入的學(xué)習(xí),在此把學(xué)習(xí)心得分享給大家。
浮動的基礎(chǔ)知識
浮動有4個屬性:left(左浮動)、right(右浮動)、none(不浮動)、inherit(繼承)。
浮動元素的包含塊是其最近的塊級祖先元素。
浮動元素會左偏移(或右偏移),直到它的外邊界接觸到『包含塊的內(nèi)邊界』或『另一個浮動元素的外邊界』。
浮動元素脫離了標準文檔流,文字和行級元素會環(huán)繞該元素,塊級元素則不受影響。
浮動一個非替換元素,必須為該元素聲明一個width,否則元素的寬度趨于0。
浮動元素的margin(外邊距)不會與其他元素的margin合并。

浮動的深入研究
浮動元素的頂邊不可以高于包含塊中先前產(chǎn)生的塊級元素或行級元素的頂。
浮動元素之間不可重疊,如果水平方向沒有足夠的空間放置浮動元素,它將向下移動,直到有足夠的空間或沒有更多的浮動元素為止。
浮動元素不能溢出包含塊的左、右、上邊界,僅可溢出下邊界。(浮動元素溢出下邊界時,部分瀏覽器會增加包含塊的高度,使浮動元素能夠包含在包含塊中,出現(xiàn)大片空白,導(dǎo)致瀏覽器兼容性問題。)
浮動元素設(shè)置負外邊距時,雖然浮動元素看起來溢出了包含塊,但實際并沒有違反上述規(guī)則。
特殊情況,浮動元素比包含塊更寬時,浮動元素會在偏移的反方向溢出。
浮動的負作用
背景不能顯示
邊框不能撐開
margin padding 不能正確顯示
清除浮動的方法
新聞熱點
疑難解答