CSS知识:探讨清除浮动的原理

来自:互联网
时间:2018-08-14
阅读:

当有盒子进行浮动后,文字会环绕着浮动的盒子

如果不希望文字环绕浮动的盒子,我们只要在文字所在盒子里加上clear即可。

务必注意!对clear属性的设置要放到文字所在的盒子里,例如一个p段落的CSS设置中,而不要放到对浮动盒子的设置里面。经常有初学者没有搞懂原理,误以为在对某个盒子设置了float属性以后,要清除它对外面的文字的影响,就要在它的CSS样式中增加一条clear,其实这是没有用的。

当父元素没有设定高度时,子元素都浮动

父div的范围缩成一条,是由padding和border构成的,也就是说,一个div的范围是由它里面的标准流内容决定的,与里面的浮动内容无关。

要使父div的范围包含这几个浮动的盒子,方法有如下几种:

1、在浮动盒子后面增加一个<div class="clear"></div>,这个新加的div跟浮动盒子必须是同级元素。然后设置CSS为 .clear{margin:0;padding:0;border:0;clear:both;}

2、在父元素内加入overflow:auto;表示高度自适应,能跟随着浮动的子元素的高度变化而变化,但在IE6中无效,需要再加上zoom:1;那么所有浏览器中都能生效了。

3、给父元素定义宽度(为了触发IE6的haslayout),那么在IE6中就已经是高度自适应了,要想在firefox中也正常,只要添加一条 overflow:auto;即可。

返回顶部
顶部