Положение логотипа относительно изображения под ним обязательно сместится. Одна из причин этого заключается в том, что вы используете vh
единицу для некоторых свойств, включая padding-top
из .highlightimg
. 10vh в настольных и мобильных устройствах различны (оба имеют разные размеры области просмотра). Если вы хотите, чтобы оба элемента оставались одинаковыми, закрепите оба элемента слева и сверху, установив по крайней мере постоянные свойства padding-top
, margin-top
или top
(включая отступы слева и поля).
Может быть, добавление top: 18vh;
к .logo
может помочь. Использование top: 10vh;
вместо 18vh при удалении margin-top: 8vh
из .showcase
также может помочь. Это должно гарантировать, что верхнее смещение .highlightimg
, обеспечиваемое его свойством padding-top
, пропорционально верхнему смещению .logo
. В этих решениях предполагается, что на странице нет других элементов, которые наверняка изменят расположение этих элементов, особенно элементов без абсолютной позиции.
position: absolute;
привязывает ваш элемент к экрану. В то время как position: relative;
сохраняют исходную визуализированную позицию элемента и перемещают сам элемент относительно его исходной визуализированной позиции. Оба имеют радикально различное влияние на то, где ваши элементы отображаются на экране. Если вы хотите, чтобы оба элемента были точно в одном и том же месте, используйте абсолютное для обоих и используйте одинаковые свойства top
и left
.
Дело в том, что не полагайтесь на свойства CSS для определения точного местоположения ваших объектов. Если вам нужно поведение, подобное описанному в аналогии с Photoshop, вы можете найти способ, используя canvas
.