У меня очень странная проблема с масштабированием изображений внутри гибкого контейнера.
Это мой гибкий контейнер:
.flex {
display: flex;
background-color: red;
}
.scaleimages img {
max-width: 100%;
max-height: 1000px;
}
<div class="flex">
<div class="item1">
Lorem ipsum dolor sit amet.
</div>
<div class="item2 scaleimages">
<img src="https://image.shutterstock.com/image-photo/colorful-flower-on-dark-tropical-260nw-721703848.jpg">
</div>
</div>
Как видите, класс .scaleimages
с очень простым трюком корректно масштабирует все изображения внутри элемента, избегая любого типа переполнения.
Если я установлю изображение на средне-большую ширину с помощью width="100000"
, изображение по-прежнему масштабируется правильно, избегая переполнения.
.flex {
display: flex;
background-color: red;
}
.scaleimages img {
max-width: 100%;
max-height: 1000px;
}
<div class="flex">
<div class="item1">
Lorem ipsum dolor sit amet.
</div>
<div class="item2 scaleimages">
<img src="https://image.shutterstock.com/image-photo/colorful-flower-on-dark-tropical-260nw-721703848.jpg" width="100000">
</div>
</div>
Теперь, если я установлю изображение на очень большую ширину с width="10000000000000"
, изображение слегка переполнится:
.flex {
display: flex;
background-color: red;
}
.scaleimages img {
max-width: 100%;
max-height: 1000px;
}
<div class="flex">
<div class="item1">
Lorem ipsum dolor sit amet.
</div>
<div class="item2 scaleimages">
<img src="https://image.shutterstock.com/image-photo/colorful-flower-on-dark-tropical-260nw-721703848.jpg" width="10000000000000">
</div>
</div>
Вы можете спросить, почему я должен устанавливать такую большую ширину? Поскольку значения видимости / высоты изображения поступают из пользовательского ввода, он может разбить страницу, задав очень большую ширину.
Почему это происходит? Есть способ это исправить? Спасибо.