方法1: margin-top -50%
<div class="parent">
<div class="child"> 内容 </div>
</div>
.parent{
height: 400px;
border: 1px solid red;
position: relative;
}
.child{
border: 1px solid green;
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
margin-left: -50px;
margin-top: -50px;
}
方法2: translate -50%
<div class="parent">
<div class="child"> 内容 </div>
</div>
.parent{
height: 400px;
border: 1px solid red;
position: relative;
}
.child{
border: 1px solid green;
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%)
}
方法3: absolute margin auto
<div class="parent">
<div class="child"> 内容 </div>
</div>
.parent{
height: 400px;
border: 1px solid red;
position: relative;
}
.child{
border: 1px solid green;
width: 100px;
height: 100px;
position: absolute;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
方法4:flex
<div class="parent">
<div class="child"> 内容 </div>
</div>
.parent{
height: 400px;
border: 1px solid red;
display: flex;
justify-content: center;
align-items: center;
}
.child{
border: 1px solid green;
width: 100px;
height: 100px;
}
方法5:table自带功能
<table class="parent">
<tr>
<td class="child">内容</td>
</tr>
</table>