float和position谁好?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了float和position谁好?相关的知识,希望对你有一定的参考价值。

float从字面上的意思就是浮动,float能让元素从文档流中抽出,它并不占文档流的空间,典型的就是图文混排中文字环绕图片的效果了。不过需要注意的是清除浮动是我们可能需要注意的地方。
而position顾名思义就是定位。他有以下这几种属性:static(默认),relative(相对定位),absolute(绝对定位)和fixed(固定定位)。其中static和relative会占据文档流空间,他们并不是脱离文档的。absolute和fixed是脱离文档流的,不会占据文档流空间。
比较可以发现,float和position最大的区别其实是是否占据文档流空间的问题。虽然position有absolute和fixed这两个同样不会占据文档流的属性,但是这两个并不适合被用来给整个网页做布局。因为这样我们得为页面上的每一个元素设置左右和上下定位。
float布局就显得灵活多了。但是一些特殊的地方搭配relative和absolute布局可以实现更好的效果。因为absolute是基于父级元素的定位,当父级元素是relative的时候,absolute的元素就会是基于它的定位了。比如可以让一个按钮始终显示在一个元素的右下角。
总结一句就是不推荐用position来布局整个页面的大框架,而推荐用float或者文档流的默认方式。 
所以并没有谁更好,两者按需使用,就能各得所需的效果。
 

以上是关于float和position谁好?的主要内容,如果未能解决你的问题,请参考以下文章

CSS中position和float的使用

关于float和position

float和position的区别(转)

CSS中的Position属性和Float属性

CSS中的position和float

CSS中position和float的使用