美文网首页
vue 移动端适配

vue 移动端适配

作者: lazy_tomato | 来源:发表于2020-04-24 22:26 被阅读0次

    vue适配:以750设计稿为基准,在不同屏幕尺寸下如何适配

    // 安装postcss-pxtorem  会自动把px转化成rem的插件
    cnpm i postcss-pxtorem
    
    // 在postcss.config.js配置
    module.exports = {
      plugins: {
        'postcss-pxtorem': { 
          rootValue: 32, 
          propList: ['*'], 
          minPixelValue: 2 
        }
      }
    };
    /* 
    rootValue:这里就是根目录的字体大小是32px,一般设计稿是750,比iphone6的大一倍,所以设置成16的两倍,就是32px;
    proplist:就是那些属性需要转换成rem,这里是全部的意思
    minPixelValue:就是最小转换单位,这是最小转换单位是2px的意思
    */
    
    // js动态改变根节点
    (function() {
        function autoRootFontSize() {
            document.documentElement.style.fontSize = Math.min(screen.width,document.documentElement.getBoundingClientRect().width)  /  750 * 32 + 'px';
        }
        window.addEventListener('resize', autoRootFontSize);
        autoRootFontSize();
    })();
    

    Safari中设置了禁止用户缩放无效的问题: iOS 10开始,meta设置在Safari内无效了

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" />
    <script>
        window.onload=function () {
        document.addEventListener('touchstart',function (event) {
            if(event.touches.length>1){
                event.preventDefault();
            }
        });
        var lastTouchEnd=0;
        document.addEventListener('touchend',function (event) {
            var now=(new Date()).getTime();
            if(now-lastTouchEnd<=300){
                event.preventDefault();
            }
            lastTouchEnd=now;
        },false);
        document.addEventListener('gesturestart', function (event) {
            event.preventDefault();
        });
    }
    </script>
    

    相关文章

      网友评论

          本文标题:vue 移动端适配

          本文链接:https://www.haomeiwen.com/subject/yeqcwhtx.html