float:浮动元素脱离文档流,不占据空间。浮动元素碰到包含它的边框或者浮动元素的边框停留定位。
position:relative这个属性并没有脱离文档流的,所以会根据文档流中的兄弟元素进行定位。
position:absolute这个属性并是脱离文档流的,判断父元素是否为position:absolute或position:relative如果是根据他们进行定位如果不是根据body进行定位。
position:fixed这个属性并是脱离文档流的,根据body进行定位
感谢如下文章
文档流理解
https://www.jianshu.com/p/ccbe15f7a6d4
position理解
https://www.cnblogs.com/tim-li/archive/2012/07/09/2582618.html