• rem实际开发适配方案


    一、rem适配方案1、rem+媒体查询+less技术

    1、设计搞常见的尺寸宽度 

    一般情况下,我们以两套大部分适应的屏幕,放弃极端屏对其优雅降级,牺牲一些效果,现在基本以750为准

    2、动态设置 html 标签 font-size 大小

    • 假设设计稿是750px
    • 假设我们把整个屏幕划分为15等分(划分标准不一可以是20等份也可以是10等份)
    • 每一份作为html字体大小,这里就是50px
    • 那么在320px设备的时候,字体大小为320/15 就是21.33px
    • 用我们页面元素的大小  除以不同的 html 字体大小会发现他们比例还是相同的
    • 比如我们以750 为标准设计稿
    • 一个100*100像素的页面元素在 750屏幕下,就是 100  /  50转换为rem 是 2rem * 2rem 比例是1比1
    • 320屏幕下,html字体大小就为 21.33 则2rem = 42.66px, 此时宽和高 都是42.66, 但是高和宽还是1比1
    • 但是已经能实现不同屏幕下,页面元素盒子等比例缩放的效果

    3、元素大小取值方法

    • 最后的公式:页面元素的rem值 = 页面元素值(px) /  (屏幕宽度 /  划分的份数)
    • 屏幕的宽度 / 划分的份数就是 html font-size 的大小
    • 或者:页面元素的rem值 =  页面元素值 (px) /  html font-size 字体大小

    4、总结出得一个媒体查询的公共文件 common.less

    // 定义一个公共的common.less文件  先装nodejs node -v
    // npm install -g less 查看下安装成功没 lessc -v
    // vscode 插件可以直接将less文件转换为css文件  (Easy-LESS)
    // 设置常见的屏幕尺寸, 修改里面的html文字大小
    
    // 一定要写最上面 
    html{
      font-size: 50px;
    }
    // 我是定义的划分是15等份
    @no: 15;
    // 320
    @media screen and (min- 320px){
      html{
        font-size: 320px / @no;
      }
    }
    // 360
    @media screen and (min- 360px){
      html{
        font-size: 360px / @no;
      }
    }
    // 375 iphone 678
    @media screen and (min- 384px){
      html{
        font-size: 384px / @no;
      }
    }
    @media screen and (min- 400px){
      html{
        font-size: 400px / @no;
      }
    }
    @media screen and (min- 414px){
      html{
        font-size: 414px / @no;
      }
    }
    @media screen and (min- 424px){
      html{
        font-size: 424px / @no;
      }
    }
    @media screen and (min- 480px){
      html{
        font-size: 480px / @no;
      }
    }
    @media screen and (min- 540px){
      html{
        font-size: 540px / @no;
      }
    }
    @media screen and (min- 720px){
      html{
        font-size: 720px / @no;
      }
    }
    @media screen and (min- 750px){
      html{
        font-size: 750px / @no;
      }
    }

    二、rem适配方案2 简洁高效rem适配方案flexible.js

    • 手机淘宝团队出的简洁高效移动端适配库
    • 我们再也不需要在写不同屏幕的媒体查询,因为里面js做了处理
    • 它的原理是把房钱设备划分成10等份,但在不同设备下,比例还是一致的
    • 我们要做的就是确定好我们当前设备的html 文字字体大小就可以了
    • 比如当前设计稿是750px 那么只需要把html文字大小设置为75px (750px/10)就可以
    • 里面页面元素rem值:页面元素的px值 / 75
    • 剩余的,让flexible.js去计算
    • github地址: https://github.com/amfe/lib-flexible
  • 相关阅读:
    平面切圆柱面的椭圆绘制
    抛物面倾斜体积积分
    计算误差函数的积分--erf(x)
    三棱椎的体积
    Mac平台上OpenCV开发环境搭建
    仿新浪右下角视频弹窗(视频弹出广告)播放器
    python爬虫之Scrapy 使用代理配置
    ip地址定位库
    python 使用 redis expire属性设置访问时间间隔
    如何做将两张图片合二为一
  • 原文地址:https://www.cnblogs.com/chen-cheng/p/13969372.html
Copyright © 2020-2023  润新知