前提・実現したいこと
ec-cube4系のカスタマイズをしています。
商品をカテゴリ毎に4つ取得し、商品画像を正方形にトリミングして2x2で並べたいのですが、画像をボックスの幅いっぱいにすることができず詰まっています。
該当のソースコード
html
1<div class="card"> 2 <div class="product"> 3 <a><img></a> 4 </div> 5 <div class="product"> 6 <a><img></a> 7 </div> 8 <div class="product"> 9 <a><img></a> 10 </div> 11 <div class="product"> 12 <a><img></a> 13 </div> 14</div>
css
1.card { 2 display: flex; 3 flex-wrap: wrap; 4} 5.product { 6 flex-basis: 50%; 7} 8.card::before { 9 content: ""; 10 padding-top: 50%;
試したこと
このような方針で実装しようとしているのですが、ここから画像を縦横比を保ったまま、ボックスいっぱいに拡大もしくは縮小する(真ん中でトリミング)にはどうしたら良いかわかりません。
cssだけで実装するのではなくjsも使用するのがよいのでしょうか?説明下手で申し訳ありませんが、どうか回答よろしくお願いします。
追記
回答ありがとうございます。
object-fitも試してみたのですが、正方形の一辺の大きさを画面幅に合わせて変化させたいため、imgにwidthとheightを指定したくありません。その上でobject-fitを試しても効かない?ようなのです。