移动端适配rem

记录下移动端rem布局

rem.js

(function (doc, win) {
    var docEl = doc.documentElement;
    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
        recalc = function () {
            var clientWidth = docEl.clientWidth;
            if (!clientWidth) return;
            if(clientWidth>=750){
                docEl.style.fontSize = '100px';
            }else{
                docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
            }
        };

    if (!doc.addEventListener) return;
    win.addEventListener(resizeEvt, recalc, false);
    doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

注:移动端会有用户调整字体大小可能会导致页面出现问题。
解决方法如下:
1、IOS

body{
 -webkit-text-size-adjust: 100% !important; 
  text-size-adjust: 100% !important; 
  -moz-text-size-adjust: 100% !important; 
    /* transform: rotate(90deg) */
}

2、Android

<script>    
        //  安卓禁止字体大小缩放
        (function(){ 
         if (typeof(WeixinJSBridge) == "undefined") { 
            document.addEventListener("WeixinJSBridgeReady", function (e) { 
                setTimeout(function(){ 
                    WeixinJSBridge.invoke('setFontSizeCallback',{"fontSize":0}, function(res) { 
                     // alert(JSON.stringify(res)); 
                    }); 
                },0); 
            }); 
         } else { 
            setTimeout(function(){ 
                WeixinJSBridge.invoke('setFontSizeCallback',{"fontSize":0}, function(res) { 
                // alert(JSON.stringify(res)); 
                }); 
            },0); 
         } 
        })();
 </script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 移动端适配中,我所了解的两种解决方案 Media Query(由于比较繁琐,我在开发中已经使用很少了): : ...
    XFE_Noah阅读 11,823评论 0 22
  • rem(font size of the root element)是指相对于根元素的字体大小的单位。简单的说它就...
    花伊侬阅读 4,603评论 0 0
  • 第一种采用css的@media属性 设置rem 使用rem单位 第二种获取通过js设置根元素的字体大小 js方法1...
    土豆切成片阅读 2,701评论 0 2
  • 一直对移动端的适配没有比较清晰的认识,感觉一直都是处于比较游离的状态。每次做关于移动端的项目,心里比较虚,很多东西...
    A豆_b99d阅读 1,787评论 0 0
  • 人生路上,遇见善良,学会付出;遇见微笑,学会分享;遇见坎坷,学会勇敢。也许这条路会艰难,但如果你拥有笑对人生的心态...
    丁香树愿您健康阅读 1,202评论 0 0

友情链接更多精彩内容