今回はSwiperのライブラリを使って、「縦横比を保ったまま画像スライダーする方法」を紹介します。
画像スライダーは実際の業務でも頻繁に使うので、WEB制作を行う人は是非マスターしましょう!
Swiperとは?
Swiperとは、画像をスライダーさせることができるJavaScriptライブラリです。
jQueryに依存せず、スライダーを自由にカスタマイズすることもできます。
【Swiper】縦横比を保ったまま画像スライダーする方法
完成形はこちらです。
それでは実際に作っていきましょう。
コピペできるので、是非試してみてください。
Swiperを使うための準備
まずはSwiperを使うための準備からしていきましょう。
以下のコードをheadタグの中に記述してください。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.3/css/swiper.min.css">
次に以下のコードをbodyの閉じタグの直前に記述してください。
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.3/js/swiper.min.js"></script>
上記のコードを書かないと、Swiperが動かないので注意してください。
HTML
<div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <img src="./image/img1.JPG" alt=""> </div> <div class="swiper-slide"> <img src="./image/img2.JPG" alt=""> </div> <div class="swiper-slide"> <img src="./image/img3.JPG" alt=""> </div> <div class="swiper-slide"> <img src="./image/img4.JPG" alt=""> </div> </div> <div class="swiper-pagination"></div> <div class="swiper-button-prev"></div> <div class="swiper-button-next"></div> </div>
画像パスは自由に変えてください。
SwiperでのHTMLコードの書き方は公式サイトに書いてあるので、是非確認してみてください。
CSS
.swiper-container { position: relative; } .swiper-container:before { content: ""; display: block; padding-top: 50%; } .swiper-wrapper { position: absolute; top: 0; left: 0; } .swiper-wrapper img { width: 100%; height: auto; }
画像の縦横比を保つために、親要素であるswiper-containerに「position: relative; 」を指定します。
そして、swiper-containerの擬似要素であるbeforeに対して「padding-top: 50%;」で幅を持たせるようにします。
JavaScript
var mySwiper = new Swiper('.swiper-container', { loop: true, pagination: { el: '.swiper-pagination', }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, })
JavaScriptでは、画像がループ出来るようにし、ページボタンを押すことで画像が切り替わるようにしました。
まとめ
以上が、Swiperのライブラリを使って、「縦横比を保ったまま画像スライダーする方法」でした。