’
本章基于上图讲解。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>position</title>
<style>
.box{
width: 200px;
height: 200px;
background-color: salmon;
}
.box>div{
width: 100px;
height: 100px;
background-color: teal;
margin-top: 300px;
}
</style>
</head>
<body>
<div class="box">
<div></div>
</div>
</body>
</html>
1.我们想变成这种风格
我们第一反应就是使用margin-top:200px但实际情况是:
这种情况,子元素会带动父元素往下移动,因此,我们需要在子元素添加:
position: relative;
top: 200px;
这就是绝对定位,这种情况就是子元素相对于父容器的位置,开始设定位置!
二.absolute
position: absolute;: 元素相对于其最近的定位祖先(即设置了 position: relative
、position: absolute、position: flexd 的祖先元素)进行定位。如果没有这样的祖先,元素将相对于文档的初始包含块进行定位。它脱离了常规文档流,对其他元素的布局没有影响。
三.fixed
固定在页面中,无论滚动栏怎么划动,不变!