у меня картинки в квадратном паспарту отображаются. в этом случае нельзя присвоить стандартную высоту или ширину, т.к. если картинка вертикальная, то с фиксированной шириной будет вылазить за пределы поля.
Так делал на ПХП:
<img class="
<?php if($size[0] > $size[1])
{
echo 'goriz';
}
else echo 'vert';
?>
.goriz{
display: block;
margin: 25px auto;
width: 500px;
}
.vert{
display:block;
margin: 10px auto;
height: 500px;
}