position属性指定一个元素(静态的,相对的,绝对或固定)的定位方法的类型。
JavaScript 语法: object.style.position="absolute"
值 | 描述 |
---|---|
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 属性的值。 |
这个解释好记忆:
1. css定位position layout module
- static: 对象遵循常规流。此时4个定位偏移属性不会被应用。
- relative: 对象遵循常规流,并且参照自身在常规流中的位置通过top,right,bottom,left
这4个定位偏移属性进行偏移时不会影响常规流中的任何元素。
- absolute: 对象脱离常规流,此时偏移属性参照的是离自身最近的定位祖先元素,如果没有定位的祖先元素,
则一直回溯到body元素。盒子的偏移位置不影响常规流中的任何元素,
其margin不与其他任何margin折叠。
- fixed: 与absolute一致,但偏移定位是以窗口为参考。当出现滚动条时,对象不会随着滚动。
- center: 与absolute一致,但偏移定位是以定位祖先元素的中心点为参考。
盒子在其包含容器垂直水平居中。(CSS3)
- page: 与absolute一致。元素在分页媒体或者区域块内,元素的包含块始终是初始包含块,
否则取决于每个absolute模式。(CSS3)
- sticky: 对象在常态时遵循常规流。它就像是relative和fixed的合体,当在屏幕中时按常规流排版,
当卷动到屏幕外时则表现如fixed。该属性的表现是现实中你见到的吸附效果。(CSS3)
参考:https://www.w3cschool.cn/cssref/pr-class-position.html
http://www.cnblogs.com/bokin/archive/2012/12/14/2816864.html