rem布局封装

rem 是 css 的长度单位,它是相对于<html>元素的 font-size 的相对值。
这里根据设备宽度定义了1rem为50px,设备宽度为750

//      1rem=50px 真实设备
//      1rem=100px设计图
    function rem (doc, win) {  
      let docEl = doc.documentElement; //html 考虑以及兼容了 屏幕旋转的事件
      //判断事件orientationchange 横屏 事件  或resize 
      let resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';     
            let recalc = function () {         
                var clientWidth = docEl.clientWidth;   //获取屏幕大小
                if (!clientWidth){ return };   //未获取屏幕尺寸        
                //屏幕大于750
                if (clientWidth >= 750) {
                     docEl.style.fontSize = '100px';
                } else {
//                          html的font-size         100* 设备宽度 / 750
                     docEl.style.fontSize = 100*(clientWidth /750)+ 'px';
                }
          };   
          if (!doc.addEventListener) {return ;}//addEventListener 兼容判断
  
          win.addEventListener(resizeEvt, recalc, false);// 屏幕大小以及旋转变化自适应
          doc.addEventListener('DOMContentLoaded', recalc, false);// 页面初次打开自适应
          recalc();
    }
    
    rem(document,window);
image.png
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容