今回は、Swiperを使って真ん中だけ大きく、左右は薄く小さくする方法を解説します。
Swiperの基本的な使い方についてはこちらの記事を参照下さい。
【2024年最新Ver11】Swiperの使い方とよく使うオプション・カスタマイズ方法を解説
続きを見る
またSwiperには色々カスタマイズが出来るオプションがあるので、そちらも合わせて活用すると実装出来るスライダーの幅が広がります。
【Swiper】カスタマイズ用オプションまとめ一覧
続きを見る
(有料になっていたらすいません🙇♂️)
Swiperでスライダーの真ん中だけ大きく左右の画像は小さくする方法
まずは基本となるスライダーを見てみます。
See the Pen
Swiper(矢印、ドットインジケーター) by junpei (@junpei-sugiyama)
on CodePen.
前後の矢印、ページネーションが表示されているシンプルなスライダーです。
これを元に今回のスライダーを作りますが、完成系はこちらです。
See the Pen
Swiper(左右を小さく) by junpei (@junpei-sugiyama)
on CodePen.
それではコードの解説をしていきます。
HTMLは基本形と同じなので割愛しますが、スライドの枚数が少ないと上手くいかないのでご注意下さい(バージョン9系の場合)
CSSのコード
CSSの書き方はこちら。
.swiper-slide {
opacity: .3; /* 左右のスライドを薄くする */
transform: scale(.8); /* 左右のスライドを小さくする */
transition: .7s; /* ゆっくり小さくさせる */
}
.swiper-slide img {
height: auto;
width: 100%;
}
.swiper-slide-active {
opacity: 1; /* 中央のスライドは薄くしない */
transform: scale(1); /* 中央のスライドは小さくしない */
z-index: 1; /* 中央のスライドを一番上にする */
}
ほとんどコメントで解説していますが、.swiper-slide
で左右のスライドにスタイルをあてています。
具体的には『薄く・小さく・ゆっくり変化』させています。
そして.swiper-slide-active
は中央のスライドで『薄く・小さく』を解除する形になっています。
あとはz-index: 1;
を書かないと左右のスライドが上に来てしまうので注意しましょう。
.swiper-slide img
に関しては基本形と同じです。
JavaScriptのコード
JavaScriptはこちらです。
const swiper = new Swiper(".swiper", {
centeredSlides: true, // 1枚目のスライドを中央にする
loop: true, // ループさせる
speed: 500, // 少しゆっくり(デフォルトは300)
slidesPerView: 3, // スライドの表示枚数
autoplay: { // 自動再生
delay: 3000, // 3秒後に次のスライド
disableOnInteraction: false, // 矢印をクリックしても自動再生を止めない
},
// ページネーション
pagination: {
el: ".swiper-pagination",
clickable: true,
},
// 前後の矢印
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
ここのポイントはcenteredSlides: true,
で、これを書くことで1枚目のスライドが左ではなく中央になります。
あとは表示枚数や次のスライドに切り替わるまでの時間など、お好みで変更して下さい。
ページネーションと前後の矢印は、今回のテーマとは関係のない基本形と同じなので割愛します。
まとめ:Swiperで真ん中だけ大きく左右の画像は小さくするにはCSSで調整
Swiperで真ん中だけ大きく左右の画像は小さくするにはパラメータのcenteredSlides
を使いますが、その他にもCSSで左右のサイズ・薄さ・アニメーションの時間などを調整する必要があります。
調整次第で見え方も変わると思うので、ぜひ色々と試してみて下さい。
以上になります。
関連記事slick記事一覧
関連記事Swiper記事一覧
関連記事Splide記事一覧