武林網(www.49028c.com)文章簡介:請教關于float和clear的問題。
<html>
< head>
< title>test</title>
< style type="text/css">
body,div{margin:0; padding:0; }
.one{width:100px; height:30px; background:#900; float:left; clear:right;}
.two{width:150px; height:50px; background:#009; }
< /style>
< /head>
< body>
< div class="one">sometext.</div>
< div class="two">sometext.</div>
< /body>
< /html>
一、div中的text內容排布是什么規律,為什么text內同不會被遮蓋?
2012-4-18 17:15:22 上傳
下載附件 (2.04 KB)
二、在.one中加入紅色clear后是不是應該清楚掉.one右側的浮動影響,也就是說右側不能出現浮動div,而在.two中加入float:left后.two仍舊像教程中一樣浮動橫向排列;
2012-4-18 17:17:19 上傳
下載附件 (461 Bytes)
三、在.two中加入float后再加入clear:left就能實現清除掉浮動效果,.two在.one下面排列;
2012-4-18 17:19:29 上傳
下載附件 (531 Bytes)解答:
第一點里面的TEXT內同(容?)不會被遮蓋是指two里面的嗎?我是這樣理解的,div是塊級元素,塊級元素之間默認的效果應該是你的第三張圖那樣,當你給.one一個左浮動后它就脫離了文檔流,所以.two就移上去了,但是.two里面的文字還是被擠下來了,那個高度剛好是.one的高度。
第二點,clear清除的不是自己的浮動,而是上一個標簽的浮動,所以你在.one里面加clear其實沒有任何作用,無論是clear:left,clear:right還是clear:both都一樣,像你說的,要清除掉浮動效果只能在.two里面加clear:left才行。
新聞熱點
疑難解答