web移動端全屏滾動頁面的適配問題

1.問題說明
    近日接到頁面全屏滾動的需求,內容爲:一張圖片,一段文字以及固定在屏幕下方的按鈕,如圖所示:此處輸入圖片的描述
根據設計稿尺寸寫好頁面佈局,在大多數手機尺寸中都是適配的,個別手機及ipad會出現問題,如下特例說明:
    <1> iphone X(375812)中,fixed定位的按鈕即紅色區域會與上方內容之間存在一段較長的空白,影響美觀。
    <2> ipad(768
1024 / 1024*1366)中,紅色按鈕區域會覆蓋上方的部份內容,需作調整。
    注:以上尺寸只是個別不表明所有,適配的思想是同樣的。css

2.思路解析
    使用css3的媒體查詢,單純的根據設備寬或高來寫適配的話,試了試並不合適作此工做,比較複雜,沒法將設備分類。後來想到使用js計算設備的寬高比,以此來分類。而後在搜索寬高比的時候,不經意間看到css3的媒體查詢就有寬高比: 兩值必須爲正整數html

@media screen and (max-aspect-ratio: 3/4){
    //....
}
@media screen and (min-aspect-ratio: 9/16){
    //....
}

3.解決問題
    找到ios&Android大部分機型尺寸,以下表(來自網絡,僅供參考。更多請轉 https://www.cnblogs.com/sunshq/p/5695102.html ):
| 機型 | 尺寸 | 點(Point) | 寬高比(去尾)
| ------ | ------ | ------ |
| iPhone4s | 3.5英寸 | 320 * 480 | 0.66
| iPhoneSE | 4.0英寸 | 320 * 568 | 0.56
| iPhone6 | 4.7英寸 | 375 * 667 | 0.56
| iPhone6s | 4.7英寸 | 375 * 667 | 0.56
| iPhone7 | 4.7英寸 | 375 * 667 | 0.56
| iPhone6P | 5.5英寸 | 414 * 736 | 0.56
| iPhone6sP | 5.5英寸 | 414 * 736 | 0.56
| iPhone7P | 5.5英寸 | 414 * 736 | 0.56
| iPhone X | 5.8英寸 | 375 * 812 | 0.46
| iPadPro | 9.7英寸 | 768 * 1024 | 0.75
| iPadPro | 12.9英寸 | 1024 * 1366 | 0.75
| | |
| 三星Note5 | 5.7英寸 | 480 * 854 | 0.56
| Nexus 5 | 4.95英寸 | 360 * 640 | 0.56
| 華爲MT1-U06 | 6.1英寸 | 480 * 720 | 0.66
| LG G3 | 5.5英寸 |720 * 1080| 0.66
| 三星galaxy s4 | 5英寸 | 540 * 960 | 0.56ios

切換尺寸查看頁面狀況,發現須要修改的地方寫在對應的媒體查詢裏,以此達到預期效果。css3

@media screen and (max-aspect-ratio: 56/100){
    //....
}
@media screen and (min-aspect-ratio: 7/10){
    //....
}
相關文章
相關標籤/搜索