如何让一个元素垂直水平居中
<div class="box">
<div class="small_box"></div>
</div>
- 方法一 :子绝父相,top:50%,left:50%,子需要移动本身宽度和高度的一半
.box {
width: 400px;
height: 400px;
background: red;
position: relative;
}
.small_box {
width: 200px;
height: 200px;
background: yellow;
// 子元素绝对定位,top 50% left 50%之后是中间的小盒子的最左边居中了
position: absolute;
left: 50%;
top: 50%;
// 可以使用向左向上移动本身宽度和高度的一半(下面的两行)
// 也可以使用transform:translate(-50%,-50%)
margin-left: -100px;
margin-top: -100px;
}
- 方法二:父元素设置成弹性盒,子元素横向居中,纵向居中
.box{
width: 400px;
height: 400px;
background: red;
display: flex;
justify-content: center;
align-items: center;
}
.small_box{
width: 200px;
height: 200px;
background: yellow;
}