position

static :  无特殊定位,对象遵循HTML定位规则 
absolute :  将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过z-index属性定义。此时对象不具有边距,但仍有补白和边框 
relative :  对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置 
fixed :  IE5.5及NS6尚不支持此属性 

position:relative; 他的意思是绝对相对定位,他是参照父级的原始点为原始点,无父级则以BODY的原始点为原始点,配合TRBL进行定位,当父级内有padding等CSS属性时,当前级的原始点则参照父级内容区的原始点进行定位. 
relative和absolute的另外一个很重要的区别就是当被定义成absolute的对象被移出了,那么他原来的位置也就不存在了, 
如果被定义成relative的对象被移出了 他原来的位置还在,别的元素就不能替代这个位置. 

相对定位有两个作用: 
1、在保证元素原始占位不变的情况下,偏移元素,这个有很多地方用得到,比如微调元素的位置,还有就是有种居中的实现方式就是利用了这一点; 
2、作为子元素的定位父元素,也就是说,如果某个元素相对定位了,那其下的子孙元素,在没有其他定位元素隔离的情况下,将以这个父元素的包围框为基准做绝对定位。

relative 应用:将背景缩进到上一层下面

position:relative;z-index:-1;margin-top:-30px

原文地址:https://www.cnblogs.com/qigege/p/4797960.html