1.给父盒子相对定位,子盒子绝对定位,left,top,right和bottom,都设置为0:
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
优点:简单无脑,不用计算;缺点:不能微调位置
2.给父盒子相对定位,子盒子绝对定位,left: 50%;top: 50%;margin-left: 负的宽度一半;margin-top: 负的高度一半:
.son {
width: 200px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
margin-left: -100px;
margin-top: -50px;
}
优点:可以微调;缺点:需要计算,需要尽量避免子盒子宽度是奇数px
3.给父盒子相对定位,子盒子绝对定位,left: 50%;top: 50%;transform:translate(50%,50%);
.son {
width: ?px;
height: ?px;
position: absolute;
top: 50%;
left: 50%;
transform:translate(50%,50%);/子元素自身宽高的一半/
}
优点:既不用关注父元素大小,也不用查看子盒子的大小,比较万能
缺点:不能调具体数值,只能调整百分比