网页制作: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>
1、div中的text内容排布是什么规律,为什么text内同不会被遮盖?
2、在.one中加入红色clear后是不是应该清楚掉.one右侧的浮动影响,也就是说右侧不能出现浮动div,而在.two中加入float:left后.two仍旧像教程中一样浮动横向排列;
3、、在.two中加入float后再加入clear:left就能实现清除掉浮动效果,.two在.one下面排列;
解答:
第一点里面的TEXT内同(容?)不会被遮盖是指two里面的吗?我是这样理解的,div是块级元素,块级元素之间默认的效果应该是你的第三张图那样,当你给.one一个左浮动后它就脱离了文档流,所以.two就移上去了,但是.two里面的文字还是被挤下来了,那个高度刚好是.one的高度。
第二点,clear清除的不是自己的浮动,而是上一个标签的浮动,所以你在.one里面加clear其实没有任何作用,无论是clear:left,clear:right还是clear:both都一样,像你说的,要清除掉浮动效果只能在.two里面加clear:left才行。
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |