Не уверен, что вы бы предпочли решение flexbox
, но это то, что я недавно начал использовать в таких случаях:
.container {
display: flex;
align-items: center;
height: 100%; /* make sure .containers's parents also have fixed height */
}
:host {
display: inline-block;
flex: 1;
}
Кроме того, есть подход позиционирования, он довольно распространен в вашем случае:
.container {
position: relative;
height: 100%;
}
:host {
display: inline-block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}