设置css float会不占位置吗?

设置了float(浮动)属性的元素会脱离普通标准流的控制,移动到其父元素中指定的位置的过程,将块级元素放在一行,浮动会脱离标准流,不占位置,会影响标准流,浮动只有左右浮动,不会出现上下浮动。

元素浮动的特性:

1、浮动的元素脱离了标准文档流,摆脱块级元素和行内元素的限制

2、浮动的元素存在相互贴靠的效果,当宽度不够的时候,会出现自动换行

3、浮动的元素虽然脱离了标准文档流,但是没有脱离文本流,出现被字包围的效果

4、浮动之后的元素会存在收缩的效果,当一个块级元素没有设置宽度的时,当块级元素浮动之后,就会失去高度

5、当父元素不设置高度的时候,多个子元素的高度和撑起了父元素的高度;当设置浮动后,子元素最高的高度撑起了父元素的高度。

浮动的弊端:

1、导致高度塌陷,当子元素同时设置浮动后,父元素失去支撑,父元素的高度消失,缩成一条线。

当对于所有的子元素都设置了浮动之后,而父元素没有去设置高度,父元素失去了支撑同时父元素的高度消失,缩成一条线,高度进行了塌陷:

2、页面结构的不稳定性,子元素浮动,导致标准文档流出现空白区域。

如何清除浮动?

1、清除浮动,可以通过.clearfix:after{clear:both;} 进行解决。

2、解决IE6兼容问题,可以通过 .clearfix{zoom:1;} 进行解决 。

3、解决双倍margin,可以通过 .clearfix:before,.clearfix:after{content:" ";display:table;} 进行解决。

4、综合最佳解决方案,推荐使用:

.clearfix:before,.clearfix:after{content:"";display:table;}
.clearfix:after{clear:both;}
.clearfix{zoom:1}

更多CSS相关知识,可访问 CSS教程 !!

以上就是设置css float会不占位置吗?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读