全屏使用swiper.js過程中遇到的坑


概述

swiper.js確實是一個很好用的插件,下面記錄下我在全屏使用過程中遇到的一些坑和解決辦法,供以后開發時參考,相信對其他人也有用。

通用方案

一般來說,swiper需要放在body的下一層,雖然也可以用一個div包裹它,無論怎樣,它的上級和上上級父節點都需要加上如下代碼:

//有div.wrap包裹
body, html, .wrap, .swiper-container {
    width: 100%;
    height: 100%;
}


//無div包裹
body, html, .swiper-container {
    width: 100%;
    height: 100%;
}

屏幕自適應

有2種方案,各有優劣:

  • 屏幕自適應,滑動一下滑塊即到了下一張slider,優點是體驗很好,缺點是slider中超過屏幕的內容會自動被隱藏且不能被看到。
  • 屏幕不自適應,滑動一下會滑動到當前slider的底部,再滑一下才能滑到下一頁。優點是能看到整頁內容,缺點是體驗不好。

以上兩種方案其實就是height是具體數值還是百分比的問題,實現代碼如下:

//屏幕自適應
.swiper-slide {
    height: 100%; //這里是終點
    width: 100%;
    position: relative;
    overflow: hidden;
}


//屏幕不自適應
.swiper-slide {
    height: 950px; //具體數值,隨意填
    width: 100%;
    position: relative;
    overflow: hidden;
}

所以如果每一個slider的內容很多,就只能用屏幕不自適應的方法,否則建議選用屏幕自適應的方法。

需要注意的是:

  1. 由於height:100%的機制是對比父標簽的,所以屏幕自適應方案中可能需要將所有父容器的height都設置為100%,甚至有必要使用!important。
  2. 屏幕自適應方案安排頁腳的方法是:把頁腳單獨放在一個slider里面。

消除滾動條

一般情況下使用swiper瀏覽器右側是沒有滾動條的,但是一些特殊情況或者兼容其它瀏覽器時就會突然有滾動條,這個時候可以用如下css代碼解決:

overflow-y:hidden;

這行代碼有些時候有兼容問題,但是可以通過設置position:relative解決,具體方法自行百度。

兼容問題

如果要兼容IE7的話,請使用swiper2。否則的話,在IE7上面swiper不能切換slider。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM