Любая позиция accept static
работает как контейнер для дочерних элементов с абсолютным позиционированием.Проблема в вашем случае - bottom: 0
.Пока область просмотра меньше, чем .container
, верхняя часть контейнера находится вне экрана.Это заставляет ребенка показываться на расстоянии менее 50px
сверху.
Использование position: relative
просто игнорируется bottom: 0
, поскольку смещение 0
ничего не делает.
После удаления bottom: 0
:
.container {
position: fixed;
height: 400px;
width: 400px;
background: silver;
}
.inner {
position: absolute;
top: 50px;
}
<div class="container">
<div class="inner">inner</div>
</div>