position属性值有哪些

admin 31 0

CSS中的position属性用于设置元素的定位方式,它有以下五个值:

1. static:这是元素的默认值,元素按照正常的文档流进行定位,即按照HTML代码中的顺序排列。

2. relative:元素相对于其正常位置进行定位,即相对于它在正常文档流中的位置,通过设置top、right、bottom和left属性,可以相对于正常位置移动元素。

3. absolute:元素相对于最近的非static定位的父元素(即position属性为relative、absolute或fixed的元素)进行定位,如果没有则相对于初始包含块进行定位,元素的位置通过left、right、top和bottom属性进行规定。

4. fixed:元素相对于浏览器窗口进行定位,其位置通过left、right、top和bottom属性进行规定,即使在滚动页面时,它也不会移动。

5. sticky:这是一种混合类型,元素在滚动范围内表现为relative,而在滚动范围外表现为fixed,这意味着元素在滚动到一定位置之前会相对于正常位置进行定位,而在达到指定偏移阈值后则会固定在指定位置。

下面是一个简单的示例代码,演示如何使用position属性:

<!DOCTYPE html>
<html>
<head>
<style>
div {
  width: 100px;
  height: 100px;
  border: 1px solid black;
}

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

.absolute {
  position: absolute;
  top: 50px;
  right: 0;
}

.fixed {
  position: fixed;
  bottom: 0;
  right: 0;
}
</style>
</head>
<body>

<div class="relative">Relative</div>
<div class="absolute">Absolute</div>
<div class="fixed">Fixed</div>

</body>
</html>

在这个示例中,有三个div元素,分别设置了不同的position属性值,第一个div的position属性值为relative,它相对于正常位置向下移动20px,向右移动30px,第二个div的position属性值为absolute,它相对于最近的非static定位的父元素(即body元素)进行定位,向右移动50px,第三个div的position属性值为fixed,它相对于浏览器窗口进行定位,固定在窗口的右下角。