目录
1.position: static;(静态定位)
HTML 元素默认情况下的定位方式为 static。
静态定位的元素不受 top、bottom、left 和 right 属性的影响。
position: static; 的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位
实例
2.position: relative;(相对定位)
position: relative;
的元素相对于其正常位置进行定位。
设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。
实例
3.position: fixed;(固定定位)
position: fixed;
的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。
固定定位的元素不会在页面中通常应放置的位置上留出空隙。
实例
4.position: absolute(绝对定位)
position: absolute;
的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。
然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。
注意:“被定位的”元素是其位置除 static
以外的任何元素。
实例
5.position: sticky;(粘性定位)
position: sticky;
的元素根据用户的滚动位置进行定位。
粘性元素根据滚动位置在相对(relative
)和固定(fixed
)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止 - 然后将其“粘贴”在适当的位置(比如 position:fixed)。
注意:Internet Explorer、Edge 15 以及更早的版本不支持粘性定位。 Safari 需要 -webkit- 前缀(请参见下面的实例)。您还必须至少指定 top
、right
、bottom
或 left
之一,以便粘性定位起作用。
在此例中,在到达其滚动位置时,sticky 元素将停留在页面顶部(top: 0
)。
实例
重叠元素
在对元素进行定位时,它们可以与其他元素重叠。
z-index
属性指定元素的堆栈顺序(哪个元素应放置在其他元素的前面或后面)。
元素可以设置正或负的堆叠顺序:
实例
img { position: absolute; left: 0px; top: 0px; z-index: -1; }
具有较高堆叠顺序的元素始终位于具有较低堆叠顺序的元素前面。
注意:如果两个定位元素重叠而未指定 z-index
,则位于代码中最后的元素将显示在最前面。
子绝父相
eg:如何在图片上放文字:
所有 CSS 定位属性
属性 | 描述 |
---|---|
bottom | 设置定位框的底部外边距边缘。 |
clip | 剪裁绝对定位的元素。 |
left | 设置定位框的左侧外边距边缘。 |
position | 规定元素的定位类型。 |
right | 设置定位框的右侧外边距边缘。 |
top | 设置定位框的顶部外边距边缘。 |
z-index | 设置元素的堆叠顺序。 |