移動端適配

移動端適配

使用的瀏覽器:Google;
驗證的編譯軟件:HBuilder、Sublime text3、Webstorm;

爲了方便觀察和修改,使用的是純靜態網頁;修改好後動態網頁也是同樣適用
初始pc端頁面如下圖所示
初始pc端頁面如下圖所示

這裏寫圖片描述

HBuilder上進行不同視窗的驗證查看
ios看到的頁面是:
ios

ipad上看到的頁面是:
ipad

可見,以上兩種頁面,都需要手動向左滑動,才能看到完整的頁面;

Android上看到的頁面是:
Android

可見,安卓系統上不用手動滑動,但是還是與pc端使用相同的比例,在手機上瀏覽的話,就不得不手動進行放大,才能達到好的視覺效果,並且右側有大面積區域是留白的;

爲了解決這些手機端的不適配問題,下面有兩種方法可借鑑:

1. 使用meta標籤,使網頁寬度自適應手機屏幕

在網頁的 head 之中添加 meta 標籤;

<meta name="viewport" content="width=device-width initival-scale=1.0 maximum-scale=1.0 user-scalable=no">

其中name=“viewport”(窗口)
width:控制 viewport 的大小,可以指定的一個值,如 600px,或者特殊的值;如 device-width :爲設備的寬度(單位爲縮放爲 100% 時的 CSS 的像素)。還可以添加height;
initial-scale=1.0 :確保網頁加載時,以 1:1 的比例呈現,不會有任何的縮放。
maximum-scale:允許用戶縮放到的最大比例。
minimum-scale:允許用戶縮放到的最小比例。
user-scalable:用戶是否可以手動縮放

添加後的效果如下
ios效果圖
ios

ipad效果圖
這裏寫圖片描述

圖片和文字的排版自動換行,右側的留白自適應了寬度後視圖更好看,內容完整,並且不需要向左滑動手機;適配成功;

Android(安卓手機截圖)效果圖
這裏寫圖片描述
同樣達到了效果

2.添加一段js代碼,對頁面進行縮放

<script>
    function bodyScale(){
        var devicewidth=document.documentElement.clientWidth;
        var Scale=devicewidth/640;
        document.body.style.zoom=Scale;
    }
    window.οnlοad=window.οnresize=function(){
        bodyScale();
    };
</script>

對上面的640進行修改,會有不同的效果,例如,當var Scale=devicewidth/1200;時,pc端頁面如下:
這裏寫圖片描述

var Scale=devicewidth/640;時,pc端:
這裏寫圖片描述

問題:這個方法,總是會存在縮放的問題,可能還是沒有弄懂那個640是根據什麼來定義的;

注意

當兩種方法混合使用時
ios:
這裏寫圖片描述

ipad:
這裏寫圖片描述

Android(安卓手機截圖):
這裏寫圖片描述

此時var Scale=devicewidth/640;使用的是640;
個人感覺依然可以達到適配的效果,但是字體會變小一點(一個屏幕內能容納的東西變多了),也就是比例變小了;

總結

個人認爲,第一個方法能自動適應屏幕大小,比較好用,第二個方法只是在改變縮放比例,以此來適應屏幕,可能還是不夠準確;

發佈了25 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章