console
<section class="layout layout-flex">
<div class="item">flex</div>
</section>
<section class="layout layout-grid">
<div class="item">grid</div>
</section>
<section class="layout layout-absolute">
<div class="item">absolute</div>
</section>
<section class="layout layout-transform">
<div class="item">transform</div>
</section>
<section class="layout layout-vertical-align-1">
<div class="item">vertical-align-1</div>
</section>
<section class="layout layout-vertical-align-2">
<div class="item">vertical-align-2</div>
</section>
.layout {
width: 200px;
height: 200px;
border: 1px solid;
font-size: 25px;
}
.item {
width: 100px;
height: 100px;
border: 10px solid green;
}
.layout-flex {
display: flex;
justify-content: center;
align-items: center;
}
.layout-grid {
display: grid;
justify-content: center;
align-content: center;
}
.layout-absolute {
position: relative;
}
.layout-absolute .item {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
.layout-transform .item {
position: relative;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
.layout-vertical-align-1 {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.layout-vertical-align-1 .item {
display: inline-block;
}
.layout-vertical-align-2 {
text-align: center;
}
.layout-vertical-align-2::before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
width: 0;
}
.layout-vertical-align-2 .item {
vertical-align: middle;
display: inline-block;
}