Если вы знаете размеры ящика, вы можете position: absolute
peuso-элементы и затем центрировать их с помощью подхода transform: translate(-50%, -50%)
.Надеюсь, это поможет.
.loader-container {
position: absolute;
width: 100%;
height: 100%;
left: 0px;
top: 0px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
background-color: aquamarine;
}
.loader {
border: 2px solid red;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
width: 200px;
height: 100px;
position: relative;
}
.loader::after,
.loader::before {
content: "";
display: block;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.loader::before {
border: 2px solid blue;
width: 50px;
height: 50px;
}
.loader::after {
border: 2px solid green;
width: 100px;
height: 100px;
}
<div class="loader-container">
<div class='loader'></div>
</div>