Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Изображение с максимальной шириной или высотой самого изображения с сохраненным соотношением сторон, ограниченным размером окна

Автор вопроса: ZiiMakcОтветов: 2

Мне нужно изображение, которое сохранит соотношение сторон, будет максимальной шириной или высотой самого изображения, но не более высоты/ширины окна.

Вот пример codepen: https://codepen.io/anon/pen/GeQqOv

Этот пример - пользовательские аватары, и пользователь может загружать их любого размера, но я хочу, чтобы большие аватары имели 100% размер изображения и не растягивались на большие экраны для маленького.

Проблема теперь в том, что маленькое изображение будет растягиваться.

img {
  width: 100%;
  height:auto;
  object-fit: contain;
   max-height: 100vh;
}

htmlcss

Ответы

Ответ 1 · рейтинг 1 · Andy G

Если вам не нужно поддерживать старые браузеры, используйте object-fit со значением contain, которое увеличивает или уменьшает размер изображения, чтобы заполнить поле, сохраняя его соотношение сторон.

img {
  width: 100%;
  height:auto;
  object-fit: contain;
  max-height: 100vh;
}

можно-использовать

Ответ 2 · ZiiMakc

Это решение, которое не имеет max-height: 100vh.

img {
  height:auto;
  width:auto;
  object-fit: contain;
  max-width:100%;
  max-height:100%;
  object-fit: contain;
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы