Задать вопрос
@sergey_zhuravlev_89

Позиционирование и масштабирование в CSS с transform Translate и Scale. Как вычислить позицию элемента?

В общем уже битый час мучаюсь, но не могу понять следующее:
У меня имеется изображение (больше никаких блоков на странице нет, только одно изображения, ничего лишнего), скажем 400x400... Так вот, я перемещаю это изображение с помощью функции css3 translateX задаю, к примеру, 500px и изображение смещается на 500px вправо. Все работает так как и ожидается, но когда применяю масштабирование (scale) то translate ведет себя невообразимым образом, он двигает изображение меньше чем на 500px, если масштаб изображения уменьшается, а если увеличивается, то дальше чем на 500px.

Я слышал, что translate использует какую-то там субпиксельную интерполяцию, но так до конца и не понял.

В общем, каким образом, по какой формуле можно высчитать правильные пиксели? К примеру, если я уменьшил изображение со scale на 50% то как мне сдвинуть это изображение в правую сторону на 500px? По какой формуле? Куда копать? Ребята !!!)
  • Вопрос задан
  • 1051 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
potapchino
@potapchino
Там есть нюанс с порядком объявления свойств. В вашем случае scale должен идти после translateX.

transform: translateX(500px) scale(1.5);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
qork
@qork
{ background: #F00B42 }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы