rem布局教程最详细(菜菜出品,必出菜品第二季)

简介: rem布局教程最详细(菜菜出品,必出菜品第二季)

rem主要是作用于手机适配使用,创建一个rem.js文件

创建好rem.js文件,然后在需要使用的页面进行引入

//rem.js
    (function (doc, win) {
 
      var isAndroid = win.navigator.appVersion.match(/android/gi);
      var isIPhone = win.navigator.appVersion.match(/iphone/gi);
 
      var scale = 1.0;
      var ratio = 1;
      if(isIPhone) {
        if (window.devicePixelRatio == 2) {
          scale *= 0.5;
          ratio *= 2;
        }
        if (window.devicePixelRatio == 3) {
          scale *= (1/3);
          ratio *= 3;
        }
      }
      var text = '<meta name="viewport" content="initial-scale=' + scale + ', maximum-scale=' + scale + ',' + ' minimum-scale=' + scale + ', width=device-width,' + ' user-scalable=no" />';
      document.write(text);
 
      var docEl = doc.documentElement
      var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
      var recalc = function () {
        var clientWidth = docEl.clientWidth
        if (!clientWidth) return
        docEl.style.fontSize = 100 * (clientWidth / 750)  + 'px'
 
        // 解决部分rem特别大的问题
        var docElFontSize = docEl.style.fontSize.replace(/px/gi, '')
        var computedFontSize = win.getComputedStyle(docEl)['font-size'].replace(/px/gi, '')
        docElFontSize != computedFontSize && (docEl.style.fontSize = docElFontSize * docElFontSize / computedFontSize + 'px')
      }
      if (!doc.addEventListener) return
      recalc()
      win.addEventListener(resizeEvt, recalc, false)
    })(document, window);
相关文章
|
7月前
|
前端开发 JavaScript SEO
学成在线制作【网页布局实战】
学成在线制作【网页布局实战】
105 0
|
开发者
一不小心,登上支付宝开发者社区热文榜单Top3
就是这个文章顶到了社区热文榜单Top3,有点小惊喜,虽然没什么技术含量,菜的一逼,见笑了见笑了,人在家中坐,奖从天上来。
208 0
一不小心,登上支付宝开发者社区热文榜单Top3
一款三栏简约typecho主题 Lanstar v2.2.0跨年版
自动适配各种大小尺寸屏幕,表情功能可能是目前所有用心主题的标配了
165 0
一款三栏简约typecho主题 Lanstar v2.2.0跨年版
|
JSON 人工智能 前端开发
前端周刊第三十五期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第三十五期
|
JSON Rust 前端开发
前端周刊第二十四期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第二十四期
|
Web App开发 Rust 前端开发
前端周刊第十九期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第十九期
|
Web App开发 前端开发 JavaScript
前端周刊第十八期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第十八期
|
开发框架 JavaScript 前端开发
前端周刊第十六期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第十六期
|
程序员 图形学 芯片
掘金收割机的年终总结,我用 Three.js 创建了一个"掘金城市" | 2021年终总结征文
我叫大帅,一个老程序猿。本文会在评论中抽一个幸运鹅获得掘金周边鼠标垫1份
293 0
掘金收割机的年终总结,我用 Three.js 创建了一个"掘金城市" | 2021年终总结征文
|
Web App开发 JSON 前端开发
前端周刊第十五期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
前端周刊第十五期