その中にあるimgの向きに基づいてコンテナのサイズを変更する必要があります。縦長の画像には width:50% コンテナーを、横長の画像には width:100% コンテナーを使用します。
私が思いついたJQueryは機能しません。見た目の内容に関係なく、2 つのクラスのうちの 1 つを追加するだけです。
Javascript:
$(".galleryelement").addClass(function() {
if (".galleryelement img".height > ".galleryelement img".width) {
return "portrait";
} else {
return "landscape";
}
});
ラフ HTML:
<div class="gallery">
<div class="galleryelement"><img></div>
<div class="galleryelement"><img></div>
<div class="galleryelement"><img></div>
<div class="galleryelement"><img></div>
</div>
CSS:
.portrait {
width: 50%;
}
.landscape {
width: 100%;
}
問題を説明するために Fiddle を作成しました: JSFiddle
誰かが私の間違いを見つけて助けてくれることを願っています。このコードでは、flickityスライダーを使用しています。