1.在項目里遇到了這個問題,首先我們明確一下單個swiper-slider 的寬度是如何確定的
在swiper 的參數配置里面有一個參數:slidesPerView
var swiper = new Swiper('.swiper-container', {
slidesPerView: "auto",
pagination: {
el: '.swiper-pagination',
freeMode : false,
freeModeMomentum : true,
},
});
slidersPerView的作用是控制單屏顯示的slider的數量,如果設置成數字,比如5,那單屏就會顯示5個slider
現在我們設置為auto,也就是讓slider的寬度自適應,寬度由內容來撐開,而正常的單個slider的寬度就是由
這個參數來確定的, 比如你的屏幕是375px的移動設備,當你吧slidesperView設置為5 時 那么單個slider的
寬度就是75px,
2.知道了單個slider的寬度設置原理,我們就可以來更改,另外寫一段css
.swiper-slide{
width: auto!important;
margin-right: 15px!important;
}
來通過權重覆蓋 原有文件中swiper.css 的樣式,讓單個slider的寬度自適應, 然后再加一個margin值來確保
每一個slider 中間是有間距的 ,當然 swiper 中也有專門控制每個slider 之間間距的參數 這個可以自行查找。
3.總結下來 如果遇到了 slider 寬度不合適的bug 那么就只需要兩步
第一步:設置slidesPerView: "auto",
第二部:設置.swiper-slide{
width: auto!important;
}
這樣就ok 了