css position属性

admin 32 0

CSS的`position`属性是用来控制元素在页面上的定位方式的,这个属性有五个值:`static`, `relative`, `absolute`, `fixed`, 和 `sticky`。

1. **Static(静态)**:这是每个元素的默认值,元素按照正常的文档流进行定位。

div {
  position: static;
}

2. **Relative(相对)**:元素按照正常的文档流进行定位,然后相对于其原始位置进行偏移。

div {
  position: relative;
  left: 20px;
  top: 30px;
}

3. **Absolute(绝对)**:元素脱离文档流,并相对于最近的已定位父元素(如果没有则相对于初始包含块)进行定位,元素的位置通过 `top`, `right`, `bottom`, 和 `left` 属性来确定。

div {
  position: absolute;
  top: 50px;
  left: 60px;
}

4. **Fixed(固定)**:元素脱离文档流,并相对于浏览器窗口进行定位,即使页面滚动,它也始终位于同一的位置,元素的位置通过 `top`, `right`, `bottom`, 和 `left` 属性来确定。

div {
  position: fixed;
  top: 0;
  right: 0;
}

5. **Sticky(粘性)**:这是相对定位和固定定位的混合类型,元素在滚动到一定位置之前为相对定位,之后为固定定位,这需要配合 `top`, `bottom`, `left`, 和 `right` 属性来使用。

div {
  position: sticky;
  top: 0;
}

在使用`position`属性时,要确保给元素设置了`z-index`属性,否则可能会影响元素的堆叠顺序,`z-index`的值越高,元素在堆叠顺序上就越高。