绝对定位
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
.box2{
width: 200px;
height: 200px;
background-color: tomato;
/* 绝对定位
--当元素的position设置为absolute
-绝对定位的特点:
1、开启绝对定位后,如果不设置偏移量,元素的位置不会发生变化
2、开启绝对定位后,元素会从文档流中脱离
3、绝对定位会改变元素的性质,行内变成块,块的宽高被内容撑开
4、绝对定位会使元素提升一个层级
5、绝对定位元素是相对于其包含块进行定位的
包含块(containing block)
-正常情况下:
包含块就是离当前元素最近的祖先块元素
-绝对定位的包含块:
包含块就是离他最近的开启了定位的祖先元素
如果所有的祖先元素都没有开启定位 则根元素就是它的包含块
-html(根元素、初始包含块)
*/
position: absolute;
bottom: 0;
right: 0;
}
.box3{
width: 200px;
height: 200px;
background-color: greenyellow;
}
.box4{
width: 400px;
height: 400px;
background-color: rgb(47, 61, 255);
position: relative;
}
.box5{
width: 300px;
height: 300px;
background-color: rgb(201, 14, 145);
/* position: relative; */
}
</style>
</head>
<body>
<div class="box1">1</div>
<div class="box4">
4
<div class="box5">
5
<div class="box2">2</div>
</div>
</div>
<div class="box3">3</div>
</body>
</html>绝对定位是对于包含块而言的 其祖先元素应设置position:relative; 则会相对于对应已经设置position进行绝对定位,如果都没设置则会对于body,最后相对于HTML,也就是说位于页面的最左上角。
绝对定位是对于包含块而言的 其祖先元素应设置position:relative; 则会相对于对应已经设置position进行绝对定位,如果都没设置则会对于body,最后相对于HTML,也就是说位于页面的最左上角。