position属性
一.属性
值 | 描述 |
---|---|
absolute |
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
fixed |
生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
relative |
生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
inherit | 规定应该从父元素继承 position 属性的值。 |
注:若被遮挡,可通过z-index进行层次分级,值越大层级越高。
二.relative:相对定位
不脱离标准文档流,相对于body进行定位,在设置margin、padding等值时,原来的位置依然被占用。
特点:如果设置了相对定位并且设置了top、left、right、bottom属性,那么将来盒子会以盒子原来所在的位置进行偏移
用途:一般不用于做“压盖效果”,就两个作用:
(1)微调元素
(2)绝对定位的参考,子绝父相
可以用left、right来描述盒子左、右的偏移;可以用top、bottom来描述盒子下、上的偏移
三.absolute:绝对定位
脱离标准文档流,相对于上一级的relative进行定位,层层往上找,若没有则相对于body定位。
特点:(1)如果这个元素没有父元素,那么将来top、left、right、bottom是相对于浏览器窗口来定位的
(2)如果绝对定位的元素有父元素,但父元素没有相对定位,那么这个时候top、left、right、bottom还是相对于浏览窗口来定位的
(3)如果绝对定位的元素有父元素,而且父元素有定位(非static),那么这个绝对定位的元素偏移是以自己的父元素为基础
(4)绝对定位之后的元素在页面上不会占据位置
四.fixed:固定定位
脱离标准文档流
用途:需要固定在页面中的一个位置不变,或者吸顶效果
(参考:http://www.cnblogs.com/Michelle20180227/p/8487035.html)
五.static:静态定位(默认)
所有标准文档流中的元素都是静态定位