Ваш желаемый результат не совсем понятно, но вот некоторые варианты для двух различных интерпретаций:
Изменения отображения свойства изображения и задающее выравнивание текста в его контейнер будет сохранить его нативную высоту и ширину, а центрирования его в контейнере:
.img-container {
max-height: 300px;
overflow: hidden;
text-align: center;
}
.img-container img {
display: inline-block;
max-height: 100%;
max-width: 100%;
}
Демонстрация: https://jsfiddle.net/5suo8tbw/
Если вы пытаетесь выполнить фоновое заполнение с помощью элемента img
, вам следует использовать атрибут object-fit: cover
. Это всегда будет заполнять размеры вашего контейнера, поддерживать соотношение сторон изображения и центрировать его в контейнере.
.img-container {
max-height: 300px;
overflow: hidden;
}
.img-container img {
object-fit: cover;
height: 100%;
width: 100%;
}
Демо: https://jsfiddle.net/5suo8tbw/1/
Вот ссылка на спецификацию: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
Для перекрестной поддержки браузера, проверьте polyfill: https://github.com/anselmh/object-fit
Можете ли вы предоставить то, что вы до сих пор? Это поможет увидеть ваш HTML. –