武林网(www.vevb.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才行。
新闻热点
疑难解答