關於手機端適配的問題(rem,頁面縮放)

關於手機端適配的問題(rem,頁面縮放)
96 進擊的小前端 關注
2018.02.02 13:57 字數 320 閱讀 19評論 0喜歡 0
相信不少和會和我碰到同樣的狀況,就是你用rem去寫移動端的時候,若是想引用別的UI庫的時候,本身頁面寫的是rem單位,而ui庫的css裏面寫的是px,你們都知道,rem是在html上設置font-size 字體大小。而後,,而後ui庫的裏面的px 會和 rem衝突,很麻煩,搜了不少辦法都沒找到好的解決辦法!!!
rem的作法css

(function() {
var doc = document,
win = window;
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function() {
var clientWidth = docEl.clientWidth;
if(!clientWidth) return;
//若是屏幕大於750(750是根據我效果圖設置的,具體數值參考效果圖),就設置clientWidth=750,防止font-size會超過100px
if(clientWidth > 750) { clientWidth = 750 }
//設置根元素font-size大小
docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
};
//屏幕大小改變,或者橫豎屏切換時,觸發函數
win.addEventListener(resizeEvt, recalc, false);
//文檔加載完成時,觸發函數
doc.addEventListener('DOMContentLoaded', recalc, false);
})();
本人在看帖子的時候,看到一個淘寶縮放頁面的方法,親測,效果不錯,直接用px單位寫,根據meta標籤進行縮放。這樣若是想引用ui庫的css 就不會衝突了,嗯不錯不錯。html

附上縮放代碼前端

可是。。。可是。若是作app套瀏覽器殼的話,是不容許你使用meta標籤縮放的。
網易的作法是用css進行縮放。具體作法以下:
htmlandroid

123

cssios

/* css reset from normalize*/web

html {
        
        /* 1 */
        -ms-text-size-adjust: 100%;
        /* 2 */
        -webkit-text-size-adjust: 100%;
        /* 2 */
    }

    body {
        margin: 0;
    }

    /* 上下拉動滾動條時卡頓、慢 */

    body {
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
    }

    /* ios和android下觸摸元素時出現半透明灰色遮罩 */

    a {
        -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    }

    #getHeight {
        height: 100vh;
        width: 100vw;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -10;
    }

    #content {
        width: 750px;
        transform-origin: 0 0;
        font-size: 36px;
    }

    #content {
        height: 100%;
    }

js瀏覽器

這樣方法的好處就是用css進行縮放,在作app的時候也是沒有問題的,缺點,就是代碼比較多。
不喜勿噴。謝謝!!!app

相關文章
相關標籤/搜索