第1个回答 2013-04-10
浮动和清除浮动一般用在DIV+CSS布局时,通常情况下使用DIV+CSS布局,文档中的对象都是从上自下依次排列,比如你写<div id="a"></div><div id="b"></div>那么默认情况下id为b 的div 排在 a的下方,我们称这种布局为标准流,设置浮动后对象就脱离了标准流,就像水面上的漂浮物一样,不再严格的按照标准流排列。浮动的取值如下:left:对象浮在左边
right:对象浮在右边
clear 清楚左,,右 浮动。。。例如下面的代码:<div id="container" > <div id="left"></div> <div id="right“></div> <div id="bottom></div></div>此时left right bottom 3个div 是从上到下排列,如果我们给left 添加一个浮动属性 float:left,那么3个div会从左到右排列,这是因为left 的浮动也会影响到后面的对象,如果我们给bottom 添加一句clear:both,那么bottom就不会再排在right的右边了,这是因为我们用clear:both清除了前面浮动对象对bottom的影响
第2个回答 2013-04-10
下面代码保存为网页到Firefox或ch、op浏览器下去看(IE低版本会自动清理浮动,不存在此问题):
<div id="test">
<p>浮动1</p>
<p>浮动2</p>
</div>
<h4>不清除浮动的话上面div不能正确的包裹住两个浮动的p元素,失去了范围,导致下面的h4内容会跟着乱</h4>
<p>而如果你清理了浮动,就不存在这个问题</p>
<p>你把这句代码加到#test的样式表里面再刷新,div就能正确包住浮动的p了:overflow: hidden;</p>
<p>当元素设置有宽度时,使元素具有overflow属性是清理浮动方法的一种</p>
<style>
#test{
width:300px;
border: 1px red solid;
}
#test p{
width:100;height:100px;
background: #eee;
float:left;
}
</style>
第3个回答 2013-04-10
呵呵,很简单么.left 和 right 是用来对其的,比如两个div想要排列成一行, 就要用到做浮动和有浮动, 至于左右 不用我解释了把?inherit是缺省值,自动继承父div.clear简单的说比如A和B同行float:left了,这时候有个C不想float:left 和AB同一行,
就可以给C来个clear:left,这样C就可以在另一行了 right同理.both是清除两者. 嗯...也许clear这个不能举例说,还是说实际的布局吧. 在我们写div的时候要经常用到float那么没有加float属性的div很容易受到已经加了float样式的div影响 而导致我们常说的窜位,那么这个时候我们就要用到clear来清除浮动的影响,来让这个div显示在我们想要的位置上.不知LZ懂了没有