zoukankan      html  css  js  c++  java
  • 手机端页面自适应解决方案—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换算单位。自己理解的,如有不当,请指正。

    学习是一个不断抄袭和重复的过程.
  • 相关阅读:
    catalina.sh详解
    jenkins环境变量问题
    张量或维度表示数学理解思路
    YOLO v3重点理解、单元格坐标系、偏移量以及放缩、置信度
    YOLO v3重点理解、单元格坐标系、偏移量以及放缩、置信度
    yolo v3好的想法和一些很好的见解
    损失函数的选择,交叉熵函数的分类以及为什么使用这种损失函数可以提升效果,为什么划分格子grid大小最后是变化的,不是固定的。
    多维python切片,和yolo最后结构1,3,16,16,85的理解
    进度条
    .argmax(-1)理解
  • 原文地址:https://www.cnblogs.com/gzya/p/6971267.html
Copyright © 2011-2022 走看看