当元素的position设置为absolute时,则开启了元素的绝对定位
用法: position: absolute;
绝对定位的特点:
与相对定位一样.开启了绝对定位以后,如果不设置偏移量,元素的位置不会发生任何改变
开启绝对定位之后,元素会从原有的文档流中脱离.只是相对于它的包含块定位,包含块可能是文档流中的另一个元素或者是初始包含块
绝对定位会改变元素的性质.行内元素变为块元素,块元素的宽度被内容撑开(即块元素中原有内容有多宽,开启绝对定位之后的块元素就有多宽)
绝对定位会使元素提升一个层级
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.box1{
width: 200px;
height: 200px;
background-color: #27A9E3;
}
.box2{
width: 200px;
height: 200px;
background-color: orange;
position: relative;
top: 50px;
}
.box3{
width: 200px;
height: 200px;
background-color: #7FFF00;
position: absolute;
top: 100px;
left: 100px;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
</body>
</html>
在上述代码中我们设置了3个块元素box1,2,3.且我们设置了box2为相对定位,其背景色为橙色;box3为绝对定位,其背景色为绿色;
我们可以看到,当我们设置了position: absolute;之后,如果不设置偏移量,那么就不会有任何改变.上述示例中设置了 top: 100px; left: 100px表示使box3相较于初始包含块向下偏移100个像素,向右移动100个像素
我们设置了box3的偏移量之后,可以看到元素脱离了原有的文档流,它的包含块变为了初始包含块(document)
相较于没有设置定位的box1,和设置了定位类型为相对定位(relative)的box2,box3更加上升了一个层级,处于另外两个块元素之上