Как переместить масштабированное изображение на основе CSS в браузере - PullRequest
0 голосов
/ 06 ноября 2018

Я ходил кругами на этом.

У меня есть изображение, которое через css автоматически подстраивается под div, например

document.getElementById("quando_image").onclick = function() {
  var elem = document.getElementById("quando_image")
  elem.style.backgroundPosition = '0% 0%'
  return true
}
#quando_image {
  background-position-x: 50%;
  background-position-y: 50%;
}

#quando_image {
  background-image: url(https://homepages.cae.wisc.edu/~ece533/images/baboon.png);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: contain;
  transform: scale(1.5);
}
<div id="quando_image"></div>

Когда вы нажимаете на изображение, оно перемещается влево (в окне браузера с альбомной ориентацией), но не перемещается вверх / вниз.

Если вы используете полную страницу и сужаете область просмотра, то она будет двигаться вверх, но не влево / вправо.

Я пробовал несколько методов - я могу сделать это, если уберу 'background-size: contains;' - но теперь изображение не масштабируется до размера области просмотра.

Примечание. Я рад решить вопрос настройки background-position-x / y в javascript (я использую% для своих целей), но я не хочу пересчитывать размер изображения каждый раз, когда изменяется область просмотра (например, если кто-то изменит размер окна браузера).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...