高さ250pxに拡大した後、画像の幅に応じて画像をdivの中央に配置しようとしています。
たとえば、サイズが 625x450 の画像があり、CSS ファイルで画像の高さを 250px に設定した場合、幅は自動的に 347.22px にスケーリングされます。そのスケーリングされた幅を検出し、(幅 - 高さ)/2 のマージン左を設定して画像を中央に配置できるようにしたいと考えています。
ハードコーディングされた形式のこの例の CSS は次のようになります (フィドル全体はhere です)。
.gallery {
width: 250px;
overflow: hidden;
position: relative;
}
.gallery img {
height: 250px;
width: auto;
margin-left: -48px;
}
しかし、私は他の次元の画像でこれをその場で実行できるようにしたいと考えています. ハードコーディングされた CSS の margin-left 行を切り取り、いくつかの jQuery を追加することで、これを実行しようとしました (フィドル全体はhere です)。
$(document).ready(function(){
oldWidth = $('.gallery img').width();
newMarg = (oldWidth - 250)/2);
$('.gallery img').css("margin-left", newMarg);
}
しかし、私はそのアプローチで成功していません。私が台無しにしているのはjQueryの何かでなければなりません。私はここでやろうとしていることすべてに非常に慣れていないので、単純なものが欠けているように感じます。