console
<div class="parent1">
<div class="child1"></div>
</div>
<div class="parent2">
<div class="child2"></div>
</div>
<div class="parent3">
<div class="child3"></div>
</div>
<div>
<div class="parent4">
<div class="child4"></div>
</div>
</div>
<div class="parent5">
<div class="child5"></div>
</div>
body {
display: flex;
margin: 0;
}
.parent1 {
position: relative;
width: 200px;
height: 200px;
border: 1px solid;
}
.child1 {
position: absolute;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
margin: -50px -50px;
background-color: #f90;
}
.parent2 {
position: relative;
width: 200px;
height: 200px;
border: 1px solid;
}
.child2 {
position: absolute;
top: 50%;
left: 50%;
width: 100px;
height: 100px;
background-color: #669;
transform: translate(-50%, -50%);
}
.parent3 {
position: relative;
width: 200px;
height: 200px;
border: 1px solid;
}
.child3 {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100px;
height: 100px;
margin: auto;
background-color: #369;
}
.parent4 {
display: table-cell;
width: 200px;
height: 200px;
border: 1px solid;
vertical-align: middle;
}
.child4 {
width: 100px;
height: 100px;
margin: 0 auto;
background-color: #699;
}
.parent5 {
width: 200px;
height: 200px;
border: 1px solid;
font-size: 0;
line-height: 200px;
text-align: center;
}
.parent5::before {
display: inline-block;
vertical-align: middle;
content: "";
}
.child5 {
display: inline-block;
width: 100px;
height: 100px;
vertical-align: middle;
background-color: #99f;
}