参考了:http://www.w3cfuns.com/article-258-1-1.html
1.在没有父级的情况下
absolute--以浏览器左上角为参考点,trbl辅助定位
relative--以浏览器左上角为参考点,trbl辅助定位 ---如果元素的同级 ,就会以正常的文档流来布局,然后再执行top元素,相当于mairgin-top!
2.有父级,但是父级没有设置position属性
absolute ---以浏览器左上角为参考点,trbl辅助定位
relative--以父级为参考点,trbl辅助定位,如果有padding 以内容区左上角辅助定位
3.有父级,并且父级设置了position属性
absolute ---以父级为参考点,trbl辅助定位,如果有padding 还是以父级左上角辅助定位
relative--以父级为参考点,trbl辅助定位,如果有padding 以内容区左上角辅助定位
4.文档流
absolute ---脱离文档流,站着排队,人一走,位置就没了。
relative--不脱离文档流,取号排队,人一走,位置还在。会占着那个坑,即使给div设置top属性
总结:如果用定位来布局页面,父级元素的position属性必须为relative,因为absolute 需要以浏览器左上角为参考点,,trbl辅助定位 ,当前面的布局发生了改变,会产生影响!
而定位于父级内部某个位置的元素,最好用absolute,因为它不受父级元素的padding的属性影响,当然你也可以用relative,计算的时候不要忘记计算padding的值。
---以上需要自己写几个简单的例子证明下。-