yunfly
// 『REM』手机屏幕适配,兼容更改过默认字体大小的安卓用户
function adapt(designWidth, rem2px) { 
//  designWidth:\'设计图宽度\'   1rem==rem2px+\'px\'                     
    var d = window.document.createElement(\'div\');
    d.style.width = \'1rem\';
    d.style.display = "none";
    var head = window.document.getElementsByTagName(\'head\')[0];
    head.appendChild(d);
    var defaultFontSize = parseFloat(window.getComputedStyle(d, null).getPropertyValue(\'width\'));
    d.remove();
    document.documentElement.style.fontSize = window.innerWidth / designWidth * rem2px / defaultFontSize * 100 + \'%\';
    var st = document.createElement(\'style\');
// 适应横屏、竖屏
    var portrait = "@media screen and (min-width: " + window.innerWidth + "px) {html{font-size:" + ((window.innerWidth / (designWidth / rem2px) / defaultFontSize) * 100) + "%;}}";
    var landscape = "@media screen and (min-width: " + window.innerHeight + "px) {html{font-size:" + ((window.innerHeight / (designWidth / rem2px) / defaultFontSize) * 100) + "%;}}"
    st.innerHTML = portrait + landscape;
    head.appendChild(st);
    return defaultFontSize
};
var defaultFontSize = adapt(640, 100);

 

分类:

技术点:

相关文章: