Здравствуйте, коротко о главном:
немного кода<div class="parent">
<div class="child child1"></div>
<div class="child child2"></div>
</div>
.parent {
height: 100px;
background: #999
}
.child {
width: 10px;
height: 10px;
background: #ddd
}
.child1 {
position: relative;
transform: translateY(-100%);
top: 30%;
left: 30%
}
.child2 { height: 90px }
или
то же самое на jsfiddle.
Если убрать у контейнера фиксированную высоту, то у дочерний элемент с
top: 30%
перестает
смещаться по вертикали.
Почему так происходит? Просто
не имею понимания, почему, и можно ли как-то заставить "это"
работать (именно с
position: relative
и
top/bottom: (some)%
)?
P.S. Предполагается, что
transform: translateY((some)%)
уже используется (в примере тоже).