absolute 为绝对定为,relative为相对定为。
absolute 的div会在浏览器对html元素排位显示的时候抽取出来不与其他的元素挤兑位置,就是说它不影响其他元素的排位,但其他元素的排位有可能会影响到它的排位。
当一个div其position设置为 absolute ,那么如果不设定left和top或者 right 或者 bottom 属性,那么它将出现在“它在排位过程中应该出现在的位置”上,如果设定了刚才说的那些属性,不如left:30px; 那么它会去寻找一个元素为定位参照物,如果这个absolute 的div 的父元素属性为 absolute或者 relative ,如果其直接父元素不是absolute或者relative,那么就找它“爷爷元素”以此类推,一直找到body对象,如果一路上都没找到absolute或者relative元素,那么就以body为参照,如果找到某元素则以此元素为定位参照物,left:30px ; 表示这个div 相对于参照元素的左边框距离 30像素,top、right、bottom以此类推。
relative 的div在浏览器布局显示dom树到窗口的时候,和别的普通元素没什么区别,唯一不同的地方是,可以通过设置left或者top属性将此div在它本应所处的位置上做一些偏移,left:-10px 表示向左偏移10像素,但它对其他元素的布局不构成影响,就好像它在对别的元素强调:“我只是在空中偏移了一点,我的地盘你们谁也别想动。”