float和position对于定位有什么区别?清除浮动的问题?

来源:3-1 首页.页面框架代码编写

慕妹2075046

2019-07-31 22:54:48

float和position对于定位有什么区别,清楚浮动有好几种方法,在清除content里面的浮动时,可以给wrap加一个overflow:hidden吗?这些清楚浮动的方法在实际用时什么区别?

写回答

1回答

好帮手慕星星

2019-08-01

同学你好,

1、float是浮动,属性值有左浮动和右浮动,如果前面有浮动的元素会跟着一起排列显示,如果前面没有浮动的元素,会在当前行浮动,浮动的元素会脱离文档流。

一个容器的子元素设置了浮动,这个容器没有设置高度,就会造成塌陷(子元素不能撑起容器高度),例如:

http://img.mukewang.com/climg/5d4246ae0001ceb704080451.jpg

http://img.mukewang.com/climg/5d4246b70001b01f03490145.jpg

这时候需要清除浮动带来的影响,撑起父容器高度:

(1)给父容器设置overflow:hidden;属性:

http://img.mukewang.com/climg/5d4247390001b0d708100471.jpg

但是这种情况有个弊端,overflow:hidden;属性原本意思是超出隐藏,如果有内容超出的话,部分就会看不到。

(2)使用clear:both:

  •     添加一个空标签:

    http://img.mukewang.com/climg/5d4247b700013cd107780460.jpg

    缺点:会多添加一个空标签

  • 使用伪类

    http://img.mukewang.com/climg/5d4248320001faad04060310.jpg

    http://img.mukewang.com/climg/5d42483a0001ed2e04230151.jpg

    这种方式用的比较多。

可以根据具体情况来进行选择。

2、position是定位,想要元素定到哪个位置就可以设置方位属性,top,right,bottom,left等。

相对定位relative不会脱离文档流,其它定位(static除外)会脱离文档流,但是和浮动不一样,不需要清除定位带来的影响,也清除不了。例如:

http://img.mukewang.com/climg/5d424962000151f003890481.jpg

http://img.mukewang.com/climg/5d42496a0001c55003520220.jpg

自己可以测试下,祝学习愉快!

1

0 学习 · 14456 问题

查看课程