** ODPOWIEDNIE ROZWIĄZANIE **
Zakładając, że element w div, jest kolejnym div ...
to rozwiązanie działa dobrze
<div class="container">
<div class="center"></div>
</div>
pojemnik może być dowolnej wielkości (musi być położenie względne)
.container {
position: relative;/*important*/
width: 200px;/*any width*/
height: 200px;/*any height*/
background: red;
}
Element ( div ) może mieć również dowolny rozmiar (musi być mniejszy niż pojemnik )
.center {
position: absolute;/*important*/
top: 50%;/*position Y halfway in*/
left: 50%;/*position X halfway in*/
transform: translate(-50%,-50%);/*move it halfway back(x,y)*/
width: 100px;/*any width*/
height: 100px;/*any height*/
background: blue;
}
Wynik będzie wyglądał następująco. Uruchom fragment kodu
.container {
position: relative;
width: 200px;
height: 200px;
background: red;
}
.center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 100px;
height: 100px;
background: blue;
}
<div class="container">
<div class="center"></div>
</div>
Uważam, że to bardzo pomocne