鍍金池/ 問(wèn)答/UI  網(wǎng)絡(luò)安全  HTML/ 為什么移動(dòng)響應(yīng)flexible組件不直接使用window.screen.widt

為什么移動(dòng)響應(yīng)flexible組件不直接使用window.screen.width

看了阿里等一些響應(yīng)的viewport解決方案

里面都是應(yīng)用的document.documentElement.getBoundingClientRect().width來(lái)計(jì)算rem大小

不明白這里的計(jì)算這些作用,是為了做rem來(lái)計(jì)算所有容器字體等的大小寬度嗎?

我目前有一個(gè)自己小單頁(yè),我直接用了window.screen.width/375(iphone6大小來(lái)等比計(jì)算),
自動(dòng)注入veiwport,計(jì)算

代碼如下,不知道這樣做會(huì)有什么不好的效果:

function newScale(){
    var docEl = document.documentElement;

    metaEl = document.createElement('meta');
    metaEl.setAttribute('name', 'viewport');
    metaEl.setAttribute('content', 'width=375, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no');
    docEl.firstElementChild.appendChild(metaEl);

    scale = 1;
    if (window.screen.width != 375) {
        scale = window.screen.width / 375;
    }

    metaEl.setAttribute('content',  'width=375, initial-scale='+scale+', maximum-scale='+scale+', minimum-scale='+scale+', user-scalable=no');
}
newScale();
回答
編輯回答
夏夕

電腦端瀏覽器可以拖動(dòng)大小,手機(jī) pad上也有可能分屏,所以不能直接用屏幕大小

2017年9月27日 10:21