Я вижу, что этот код работает, чтобы выровнять div по вертикали внутри его родительского элемента:
.element {
position: relative;
top: 50%;
transform: translateY(-50%);
}
Вопрос в том, почему? Моя первая мысль заключалась в том, что родительский элемент охватывает больше, чем область просмотра. Я сделал родительскую высоту просмотра равным 100vh и ширину 100%. Это не сработало. Мне все еще нужен перевод или отрицательное смещение. Зачем мне нужно отрицательное смещение, если для родительского элемента установлено значение margin: 0;? Это из-за вычисленной разницы, которую я не учитываю?