[关闭]
@panhonhang 2018-05-12T09:38:38.000000Z 字数 1102 阅读 5388

position的种类和relative与absolute的区别


position的种类

1. position:absolute;   

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
您可以亲自试一试

2. position:fixed;  

生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
您可以亲自试一试

3. position:relative;   

生成相对定位的元素,相对于其正常位置进行定位。
比如"top:100px" 会向元素的 TOP 位置添加 100 像素。而"top:-100" 会向元素的 TOP 位置减少 100 像素。
您可以亲自试一试

4. position:static;

默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。如果没有设置则默认为position:static。

 5. position:inherit;

规定应该从父元素继承 position 属性的值。

6. z-index

优先级。默认的z-index是0。如果要一个元素放置在另一个后面可以将它的z-index设置为负数,比如"z-index:-1"。同理假如要一个元素放置在另一个的前面就将它的z-index设置为正数,比如"z-index:1"。这是由于默认的z-index是0。z-index值越高优先级越高。

详情参考W3School

relative与absolute的区别

absolute是绝对定位;而relative是相对定位;

解释:
绝对定位就是相对于父元素的定位,不受父元素内其他子元素的影响;
而相对定位是相对于同级元素的定位,也就是上一个同级元素!
position:relative相对定位。
relative是相对定位,相对于本身的位置,元素的位置通过 "left", "top", "right" ,"bottom" 属性进行定位。left是离原坐标x轴的距离,top是离原坐标y轴的距离,它本身的位置还在。

absolute是绝对定位,相对于窗口左上角的位置,元素的位置通过 "left", "top", "right" 以,"bottom" 属性进行定位。left是离窗口左上角x轴的距离,top是离窗口左上角标y轴的距离,不占有空间。

如果你有两个包含关系的div,父div的样式是position:relative,子div的样式是position:absolute,那么子div的位置是相对于父的div的来进行定位的

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注