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

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

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

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

В общем, каким образом, по какой формуле можно высчитать правильные пиксели? К примеру, если я уменьшил изображение со scale на 50% то как мне сдвинуть это изображение в правую сторону на 500px? По какой формуле? Куда копать? Ребята !!!)
  • Вопрос задан
  • 1093 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
potapchino
@potapchino
Там есть нюанс с порядком объявления свойств. В вашем случае scale должен идти после translateX.

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

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

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