zoukankan      html  css  js  c++  java
  • 移动适配方案的总结

    1. js代码实现适配 
    var dpr, rem, scale;
    var docEl = document.documentElement;
    var fontEl = document.createElement('style');
    var metaEl = document.querySelector('meta[name="viewport"]');
    //iphone6下font-size=20px
    dpr = window.devicePixelRatio || 1;
    rem = docEl.clientWidth * dpr / 37.5;  
    scale = 1 / dpr;
    
    
    // 设置viewport,进行缩放,达到高清效果
    metaEl.setAttribute('content', 'width=' + dpr * docEl.clientWidth + ',initial-scale=' + scale + ',maximum-scale=' + scale + ', minimum-scale=' + scale + ',user-scalable=no');
    
    // 设置data-dpr属性,留作的css hack之用
    docEl.setAttribute('data-dpr', dpr);
    
    // 动态写入样式
    docEl.firstElementChild.appendChild(fontEl);
    fontEl.innerHTML = 'html{font-size:' + rem + 'px!important;}';
    
    // 给js调用的,某一dpr下rem和px之间的转换函数
    window.rem2px = function(v) {
        v = parseFloat(v);
        return v * rem;
    };
    
    window.px2rem = function(v) {
        v = parseFloat(v);
        return v / rem;
    };
    
    window.dpr = dpr;
    window.rem = rem;

      2.媒体查询实现适配

    html {
    font-size : 20px;
     }
     @media only screen and (min- 401px){
     html {
     font-size: 25px !important;
     }
     }
     @media only screen and (min- 428px){
     html {
     font-size: 26.75px !important;
     }
     }
     @media only screen and (min- 481px){
     html {
     font-size: 30px !important; 
     }
     }
     @media only screen and (min- 569px){
     html {
     font-size: 35px !important; 
     }
     }
     @media only screen and (min- 641px){
     html {
     font-size: 40px !important; 
     }
     }
  • 相关阅读:
    各种排序算法的时间复杂度
    svn版本管理系统出现的问题解决办法
    算法时间复杂度
    js处理时间戳显示的问题
    cache缓存的BUG
    使用phpstorm提交svn代码版本管理系统遇到的问题解决办法
    20161101.20161115这两周的开发总结
    mac 上安装 redis
    终极 shell zsh
    在 mac 上利用 homebrew 安装软件
  • 原文地址:https://www.cnblogs.com/goweb/p/6639833.html
Copyright © 2011-2022 走看看