• 手机端页面自适应解决方案—rem布局


    只需在页面引入这段原生js代码就可以了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    (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){
                       docEl.style.fontSize = '100px';
                   }else{
                       docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
                   }
               };
     
           if (!doc.addEventListener) return;
           win.addEventListener(resizeEvt, recalc, false);
           doc.addEventListener('DOMContentLoaded', recalc, false);
       })(document, window);

    如何使用?

    这是rem布局的核心代码,这段代码的大意是:
    如果页面的宽度超过了640px,那么页面中html的font-size恒为100px,否则,页面中html的font-size的大小为: 100 * (当前页面宽度 / 640)

    为什么是640px?

    设计图一般是640px的,这样相当于100px = 1rem,可以方便计算;

    因为是640px所以应限制下页面的大小,所以最外层的盒子应该是:

    1
    2
    3
    4
    5
    position: relative;
    100%;
    max- 640px;
    min- 320px;
    margin: 0 auto;

      

    重要:可以根据自己的设计图进行修改。

                           (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 = '20px';
    	               }else{
    	                  docEl.style.fontSize = 30* (clientWidth / 750) + 'px';
    	               }
    				};
    				
    				if (!doc.addEventListener) return;
    				win.addEventListener(resizeEvt, recalc, false);
    				doc.addEventListener('DOMContentLoaded', recalc, false);
    				})(document, window);
    

      

    body{background: #ccc;font-size: 1.0rem;} 	
    

      公司设计图为750.修改设计图适配750,大于750像素的设计图。设置font-size:20px;

         引用了JS以后,设计图上像素如宽为100px;就按1:1的比例rem换算单位。自己理解的,如有不当,请指正。

    学习是一个不断抄袭和重复的过程.
  • 相关阅读:
    给pdf文件添加防伪水印logo(附工程源码下载)
    关于正则,那些年一直存在的疑惑解答(正则菜鸟不容错过)
    那些年用过的一些前端框架
    优化Javascript数据遍历
    PHP5 mysqli 教程
    程序员一年工作经验之谈
    TCP协议的性能评测工具 — Tcpdive开源啦
    VMware Tools (ubuntu系统)安装详细过程与使用
    利用BBRSACryptor实现iOS端的RSA加解密
    Spring AOP详解(转载)
  • 原文地址:https://www.cnblogs.com/gzya/p/6971267.html
Copyright © 2020-2023  润新知