div {
width: 250px;
height: 250px;
overflow: hidden;
margin: 10px;
position: relative;
}
img {
position: absolute;
left: -1000%;
right: -1000%;
top: -1000%;
bottom: -1000%;
margin: auto;
min-height: 100%;
min-width: 100%;
}
<div>
<img src="https://i.postimg.cc/TwFrQXrP/plus-2.jpg" />
</div>
A note regarding sizes
As Salman A mentioned in the comments, we need to set the img‘s position coordinates (top, left, bottom, right) to work with percents higher than the image’s actual dimensions. I use 1000% in the above example, but of course you can adjust it according to your needs.
* Further explanation: When we set the img‘s left and right (or: top and bottom) coordinates to be -100% (of the containing div), the overall allowed width (or: height) of the img, can be at most 300% of the containing div‘s width (or: height), because it’s the sum of the div‘s width (or: height) and the left and right (or: top and bottom) coordinates.