[size=medium][b]以前覺得已經把float的問題搞明白了,沒想到一段時間不用,又忘了,今天又查了一下,記錄一下。[/b][/size]
[size=medium]當所有的子元素(c)都浮動(即設了float)那麼在火狐下父元素(p)會沒有高度,下面的元素,如上面的f就會上移,因為p的高度為0,那麼解決的辦法是
1。f加clear:both。但p的高度還是為0,有時候有影響,比如p要設背景的時候,都設不了。
2。p裡面再設個div(m),即c的父元素是m,m的父元素是p,然後m設個float就行了,然後就在m上設p所用的東西就行了。但看網上有人說(float的元素,父元素最好不要設float,不然有bug),這樣的話也不是太好
3.p在新增個div子元素,和c同級,然後其clear:both就行了,這樣p也有高了。
但這有個問題,比如不是div,是dt、dd的話,就不行了,那是因為div在沒有值(即文字text)得時候預設高為0,但是是有寬的,但dd就高和寬都為0,所以設clear:both的一定要有寬,當然如果p有個子元素不是塊元素就根本沒有這個麻煩,但要注意這時如果浮動在右邊,也一定要把浮動的塊元素寫在不是塊元素前面[/size]
當然以上是個人見解,可能有不對的地方。
CSS的浮動問題
浮動的工作原理 浮動元素脫離文件流,不佔據空間。浮動元素碰到包含它的邊框或者浮動元素的邊框則停留。浮動元素可能引起的問題 1.父元素的高度無法被撐開,影響與父級元素同級的元素 2.與浮動元素同級的非浮動元素會跟隨其後 3.若非第乙個元素浮動,則該元素之前的元素也需要浮動,否則會影響頁面的顯示結構 清...
CSS清除浮動(Float)
我們換一種方法表達上面的意思,因為紅色方塊的 左側浮動 才導致藍色方塊上移至紅色方塊的尾後 在上個例子中,為了達到瀏覽器相容性,我們分別在紅色藍色方塊css 中分別加了 float left 這樣ie和ff中顯示效果一樣,如果此時我們還想放乙個寬度400畫素,高度100的綠色方塊,並讓其處於第二行,...
css清除浮動float
css清除浮動float 1.分析html 123 分析css 樣式 outer.div1.div2.div3分析問題 外層未設定高度,如果裡面元素不設定float的話,外層容器的高度會隨內層元素高度撐開,因為設定float之後內層元素脫離文件流,導致高度無法撐開 1 背景不能顯示 2 邊框不能撐開...