1、flex
<div class="father">
<div class="son"></div>
</div>
.father {
display: flex;
width: 200px;
height: 200px;
justify-content: center;
align-items: center;
background-color: pink;
}
.son {
width: 100px;
height: 100px;
background-color: red;
}
2、 position + transform
.father {
position: relative;
width: 200px;
height: 200px;
background-color: pink;
}
.son {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
background-color: red;
}
3、position + margin (son高度已知的情况下)
.father {
position: relative;
width: 200px;
height: 200px;
background-color: pink;
}
.son {
width: 100px;
height: 100px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -50px;
margin-top: -50px;
background-color: red;
}
4、 设置各个方向的距离都是0 + margin:auto;(son高度已知的情况下)
.father {
position: relative;
width: 200px;
height: 200px;
background-color: pink;
}
.son {
width: 100px;
height: 100px;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
background-color: red;
}