zoukankan      html  css  js  c++  java
  • 移动端各种分辨率手机屏幕----适配方法集锦

    1.使用viewport,html文件中在<body></body>内添加meta,简单粗暴:

    <meta name="viewport"  content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

    clipboard.png

    2.加判断复杂点的viewport,可以封装成一个js,每次新建html时调用.js即可:

    var phoneWidth = parseInt(window.screen.width);
    var phoneScale = phoneWidth/750;
    var ua = navigator.userAgent;
    if (/Android (d+.d+)/.test(ua)){
        var version = parseFloat(RegExp.$1);
        if(version>2.3){
            document.write('<meta name="viewport" content="width=750, minimum-scale = 
           '+phoneScale+', maximum-scale = '+phoneScale+', target-densitydpi=device-dpi">')
        }else{
            document.write('<meta name="viewport" content="width=750, target-densitydpi=device-
            dpi">')
        }
    } else {
        document.write('<meta name="viewport" content="width=750, user-scalable=no, target-
        densitydpi=device-dpi">')
    }

    3.使用rem,一般情况下设置为1rem=100px,在写css的width、height、margin、padding时比较好换算,例如设计稿上职位52px,则换算后为0.52rem,js代码可以封装成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>=640){  //页面视口最大设为640,当大于640px时,文件的font-size=100px
                    docEl.style.fontSize = '100px';
                }else{  
                    docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';  //页面视口小于640时,
                    文件的font-size的值随着视口的变化而改变  若想1rem=50px,可以把100换成50,以此类推
                } 
            };
        if (!doc.addEventListener) return;
        win.addEventListener(resizeEvt, recalc, false);
        doc.addEventListener('DOMContentLoaded', recalc, false);
    })(document, window);

    clipboard.png

    js使用后,<html></html>变化如下:

    clipboard.png

    参考:

    1.使用Flexible实现手淘H5页面的终端适配(https://github.com/amfe/artic...
    2.H5 页面适配所有 iPhone 和安卓机型的六个技巧(http://blog.csdn.net/maodoudo...
    3.rem、em、px之间的差异(http://www.runoob.com/w3cnote...
    4.某博客详解的分享链接(http://div.io/topic/1567

  • 相关阅读:
    GISer 应届生找工作历程(完结)
    c#跨窗体调用操作
    c#基础学习笔记-----------委托事件
    c#基础笔记-----------集合
    ArcEngine开发鹰眼实现问题
    Null Object模式
    c#基础------------静态类与非静态类
    GIS初学者
    c#基础学习汇总----------base和this,new和virtual
    用Python编写水仙花数
  • 原文地址:https://www.cnblogs.com/10manongit/p/12853919.html
Copyright © 2011-2022 走看看