Рискну предложить, возможно не самый лучший, но быстрый и практически беспроблемный вариант с использованием
background-image<div class="img-block" style="background-image: url(something.img)">
<img href="something.img" />
</div>
в принципе, имеем так:
<div class="img-block" style="background-image: url(something.img)">
</div>
.img-block {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.img-block img {
opacity: 0;
}
Скрываем
IMG, вместо него показываем
background-image.
Плюсы: кроссбраузерность, лёгкая правка кода, не требуется подготовка иллюстраций
Минусы: засорение кода, хотя, если СЕО не так важно и заданы размеры блока, то
<img>
можно совсем удалить.
* если во все <img>
вставлять один и тот же файл something.img, этим можно контролировать линейные размеры блока <div>
, не указывая его размер в стилях.
пример
https://codepen.io/tolfy/pen/MGVbwJ