Swiper.jsによるスライダーのレイアウトが崩れてしまう
実現したいこと
下記キャプチャのように中心にスライダーのアクティブ画像を表示し、左右にアクティブ画像に隣接する前後の要素の画像を1枚づつ見切らせて表示したい。
https://gyazo.com/c86fcc89613d7e7efe3bf351a578a49f
現在の状況
アクティブ画像の位置が中心からかなりズレてしまい、レイアウトが崩れてしまっている
https://gyazo.com/e2daab7be34497cb6e5631c7bbcd8add
該当箇所のコード
<div class="main-visual">
<div class="add-wrapper">
<div class="swiper-container swiper1">
<div class="swiper-wrapper">
<div class="swiper-slide slide1">
<img src="path/to/image.svg" class="mv-img">
</div>
<div class="swiper-slide slide2">
<img src="path/to/image.svg" class="mv-img">
</div>
<div class="swiper-slide slide3">
<img src="path/to/image.svg" class="mv-img">
</div>
<div class="swiper-slide slide4">
<img src="path/to/image.svg" class="mv-img">
</div>
<div class="swiper-slide slide5">
<img src="path/to/image.svg" class="mv-img">
</div>
</div>
<!-- swiperのページネーション -->
<div class="swiper-pagination page1"></div>
<!-- ナビゲーション -->
<div class="swiper-button-prev prev1"></div>
<div class="swiper-button-next next1"></div>
</div>
</div>
</div>
.main-visual {
width: 100%;
height: 522px;
background-image: url(hoge);
background-repeat: repeat;
z-index: 0;
background-color: #F0F0F0;
overflow-x: hidden;
overflow-y: hidden;
position: relative;
}
.add-wrapper {
margin-left: auto;
margin-right: auto;
max-width: 900px;
}
.swiper1 {
width: 100%;
overflow: visible;
z-index: 1;
height: 520px;
}
.swiper1 .swiper-slide {
vertical-align: middle;
margin-top: 88px;
}
.swiper1 .swiper-slide .mv-img {
width: 670px !important;
height: 335px !important;
}
.swiper1 .swiper-slide-active {
height: 450px !important;
width: 900px !important;
margin-top: 30px;
}
.swiper1 .swiper-slide-active .mv-img {
height: 450px !important;
width: 900px !important;
}
.swiper1 .swiper-slide-prev,
.swiper1 .swiper-slide-next {
width: 670px !important;
height: 335px !important;
}
.swiper1 .swiper-slide-prev::after,
.swiper1 .swiper-slide-next::after {
content: "";
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
}
.swiper1 .swiper-slide-prev .mv-img,
.swiper1 .swiper-slide-next .mv-img {
width: 670px !important;
height: 335px !important;
}
.swiper1 .swiper-pagination {
width: 100%;
left: 0;
bottom: 10px;
}
.swiper1 .swiper-button-next{
width: 32px;
height: 60px;
}
.swiper1 .swiper-button-prev{
width: 32px;
height: 60px;
}
.swiper-pagination-bullet-active {
opacity: 1;
background: #91d539;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.0/js/swiper.min.js"></script>
<script>
'use strict';
// スライダーの設定
window.addEventListener('load', function() {
var mySwiper = new Swiper ('.swiper1', {
loop: true,
slidesPerView: 1.5,
centeredSlides : true,
loopedSlides:5,
spaceBetween: 0,
breakpoints: {
960: {
slidesPerView: 1,
spaceBetween: 0
}
},
navigation: {
nextEl: '.next1',
prevEl: '.prev1',
},
pagination: {
el: '.page1',
},
// autoplay: {
// delay: 3000,
// disableOnInteraction: false
// },
speed: 500,
roundLengths: true,
});
}, false);
</script>
centeredSlides が機能していないようでうまく想定通りのレイアウトになってくれません。
必要な情報が不足している場合にはご指摘いただければ助かります。
ご支援のほどよろしくお願いいたします。