<div class="gal-img-wrap-wrap">
<div class="gal-img-wrap">
<img src="/<?php echo $elem->subid.'/'.$elem->photo?>">
</div>
</div>
.gal-img-wrap-wrap{
overflow: hidden;
background-size: cover;
height: 300px;
width: 300px;
}
.gal-img-wrap{
width: 150%;
height: 150%;
}
.gal-img-wrap-wrap .gal-img-wrap img{
width: 100%;
height: 100%;
}
Как то так но, с масштабированием без потерь . То есть обязательный размер 300на300 , пускай изображение натягивается и как лупой масштабируется при этом все равно сохраняя пропорции. Будь то меньше оно или больше. Даже если 1 на300 изображение все равно натягивалось , хоть до квадратиков