イメージ要素の高さと幅があらかじめわかっていない場合、イメージの高さがイメージの幅よりも大きい場合は、イメージの幅を同じに切り取ってイメージの中心を垂直に合わせたいとします。新しい画像の高さが画像の幅と一致するように、ピクセルがその頂部および底部を形成する。たとえば、画像の幅が200px、高さが250pxの場合は、上端と下端から25pxを切り取ります。画像の高さが画像の幅を超えている場合は、画像の上下を上下に切り抜いて中央の画像をCSSでのみ可能ですか?
ここでは例のセットアップです:
HTML:
<div class = 'cell'>
...
<div class = 'image_container'>
...
<img ...>
</div>
</div>
CSS:
.cell {
display: inline-block;
float: left;
/* width will be changed by use of '@media screen'.
Smaller browser window -> larger width */
width: 31%;
}
.image_container {
position: relative;
float: left;
width: 100%;
}
.image_container > img {
width: 100%;
}
のみCSSを使用して前述のセンター/クロップ操作を実現することが可能であり、あるいはそれが必要であるが、これにjavascript/jqueryを使用するには?
使用可能な 'オブジェクトフィットを持っている:'基本的にあなたが '背景サイズのように似たものを行うことを可能にする:'ず、それは 'contain'または' cover'の値を割り当てていますが、**それらのどれもあなたの要件に合っていないようです** description。少なくとも、高さを指定しなかった場合、画像の上下から同じ高さの切り抜きを行うことは、全くわかりません。クロッピングは 'カバー'を使用して行われます( 'contains'は作物ではありません)が、イメージは「センタリング」されていませんが、***は指定されたエリア全体を覆います*** –
与えられた幅および/画像が収まるはずですか? – LGSon
@LGSon - 画像はグリッドセルの内側にあり(各セルの幅の100%を占めます)、パッカーによって配置されます。ブラウザウィンドウの幅に応じて、3つ、2つ、または1つのグリッドセルが連続して存在することがあります。また、グリッドの幅の100%を占める行もあります。これらは画像の幅に対する唯一の制約であり、高さは画像の幅によって制限されるべきである。 – Boa