С риском звучать как Капитан Очевидность, я постараюсь объяснить это как можно проще.
Верх - это число, которое определяет количество пикселей, от которого вы хотите, чтобы оно было ОТ верхней части любого HTML-элемента над ним ... так что это не обязательно верх вашей страницы. Будьте осторожны с форматированием HTML при разработке CSS.
Ваши 50% слева должны переместить его в центр экрана, учитывая, что он равен 50. Имейте в виду, что люди имеют разные размеры экрана и располагаются в (0,0) верхнем левом углу вашего изображения, а не в центре изображения, поэтому оно не будет идеально распределено по центру экрана, как вы ожидаете.
Именно поэтому используется поле слева до -445 пикселей - чтобы переместить его дальше, исправлено.
Удачи, я надеюсь, что это имело смысл. Я пытался сформулировать свое объяснение по-другому, на случай, если другие ответы все еще доставляют вам трудности. Это были отличные ответы.
(Если у вас два монитора разных размеров, я советую поиграть с кодом, чтобы увидеть, как каждая модификация влияет на экраны разных размеров!)