简明现代魔法 -> CSS层叠样式表 -> 用clear:both清除浮动

用clear:both清除浮动

2009-08-26

在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both;

CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边。这个属性是用来控制float属性在文档流的物理位置的。

当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除。

<p style="float:left;width:200px;">这个是第1列,</p>
<p style="float:left;width:400px;">这个是第2列,</p>
<p>这个是第3列。</p>
	

如果不用清除浮动,那么第3列文字就会和第1、2列文字在一起 ,所以我们在第3个这列加一个清除浮动 clear:both;

通常,我们往往会将“清除浮动”单独定义一个CSS样式,如:

.clear {
    clear: both;
}
	

然后使用<div class="clear"></div>来专门进行“清除浮动”。

clear:both;可以终结在出现他之前的浮动

.demodiv{float:left;width:100px;height:50px;background:red;margin:5px;}
.d{clear:both}
</style>
<div class="demodiv">1</div>
<div class="demodiv">2</div>
<div class="d"></div>
<div class="demodiv">3</div>
<div class="demodiv">4</div>
	

效果图如下:

clear:both参数说明

语法: clear : none | left |right | both

参数:
none : 允许两边都可以有浮动对象
both : 不允许有浮动对象
left : 不允许左边有浮动对象
right : 不允许右边有浮动对象

说明: 该属性的值指出了不允许有浮动对象的边。请参阅float属性。 对应的脚本特性为clear

主要是用在div套div的结构中。如果内div是浮动的,一般都需要clear浮动,不然的话内div会超出外div的框架

所用什么时候用clear:both;就很重要,一般我们在需要清除浮动的时候用到clear:both;不要轻意用到clear:both;因为它也有副伯用.

回答

你在要浮动的两个div后再加一个div,并设置样式为 clear: both,这样就可以了(因为clear:both说明这个div不允许左右有浮动元素,于是就往下跑,撑开了父div),如下:

<div style="float:left;..."> 
abc 
</div> 
<div style="float:left;..."> 
abc 
</div> 
<div style="clear:both"></div> 
	

你这种两列的情况,我一般都是两个都float:left

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们