参考にされているサイトでのSwiperはバージョン8
ですが、ここでは9
で対応します。
ひとつはCSSに原因があります。
img
タグはインラインですのでCSSでwidth
やheight
を指定しても効果はありません。あとauto
値は初期値なので強制してもほぼ意味はありません。ブロック要素に直す必要があります。
画像サイズなどにバラツキがある場合、コレが原因で余白が出来ますから縦横100%
に直すことでobject-fit: cover;
が生きてくるかと思います。
もうひとつはSwiperのパラメーター指定に原因があります。
公式のドキュメントをよく確認してください。そこにヒントがあります。
Because of nature of how the loop mode works (it will rearrange slides), total number of slides must be >= slidesPerView * 2
とあります。パラメーターloop: true
を使用する場合、要素数 >= slidesPerView * 2
の条件でないと正常に表示されないとあります。
質問にあるHTMLで.swiper-slide
を付与した要素数は6
個あります。slidesPerView
で3.5
を指定してますが6 >= (3.5 * 2)
では条件に合わず、表示が乱れている原因のもう一つがコレです。