w3c中获取定义:
static : 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit:规定应该从父元素继承 position 属性的值。
fixed :生成绝对定位的元素,相对于浏览器窗口进行定位。(元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。)
absolute : 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。(元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。)
relative : 生成相对定位的元素,相对于其正常位置进行定位。因此,"(left:20" 会向元素的 LEFT 位置添加 20 像素。)
总的来说 :
static,就是正常的文档流顺序,默认的,相当于没有定位!
inherit, 就是从父元素继承 position 属性的值,
fixed, 就是相对于浏览器窗口,就是你滚动条怎么滚动,他还是那个位置,就想是 “粘” 在窗口上了!
absolute,是脱离文档流的原来的位置是不继续占据了,如果他的父级元素中有已经定位了的不管是absolute的还是relative,它都会相对于他的父级元素来定位,如果他的父级元素中没有定位了的那么它就是相对于body来定位的。也就是说absolute的绝对是有参照物的!
relative,是不会脱离文档流的原来的位置也就继续占据了,它是只相对于自身原来的位置来定位的!