Недавно я отредактировал некоторые из моих CSS и был приятно удивлен, когда нашел более простой способ горизонтального выравнивания моего абсолютно позиционированного элемента:
.prompt-panel {
left: 50%;
transform: translateX(-50%);
}
Это отлично работает! Даже если моя ширина элемента авто. Однако я не понимаю, что происходит, чтобы это действительно работало. Мое предположение заключалось в том, что translateX был просто современным, более эффективным средством перемещения элемента вокруг, но это, похоже, не так.
Не должны ли эти два значения отменить друг друга? Кроме того, почему
.prompt-panel {
left: -50%;
transform: translateX(50%);
}
не показывать тот же результат, что и первый фрагмент кода?