• 移动的自适应方法


    解决方法1

      动态修改视口标签的缩放值 

    // 最简单最粗暴的解决方法

    <meta name="viewport" id="mt" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <script> (function(){ let meta = document.getElementById('mt'); let width = window.innerWidth; mt['content']=`width=device-width, user-scalable=no, initial- scale=${width/750} maximum-scale=1.0`; })(); </script>

    解决办法2

    使用vw + rem


    vw是HTML中的一个百分比单位, 把一个页面分为100份,每一份为1vw
    也就是说 100vw = 宽度100%

      现在有一个设计稿宽度为750时
      应该选用的参考宽度为375px

      那么 100vw = 375px
          ? = 100px;
      => 10000/375vw = 26.67vw;

      由上可得 当给跟字体大小设置为 26.67vw时
      页面根字体大小为100px


      如果现在设计稿中有一个盒子高度为100px;
      因为设计稿的宽度为 750 而 页面宽度为 375
      那么在实际显示的高度应该为 50
      又因为根字体大小为100px
      那么我们可以设置 为0.5rem


      如果设计稿尺寸为 640px;
      那么 100vw = 320px;
      ? = 100px
      => 10000/320vw = 31.25;

    解决方案三

      js动态修改根字体大小+rem

    1. 在页面中引入rem.js文件
    2. 下载rem插件为了方便计算

    + 当视口标签为自己设置的缩放值
    a. 需要给设置rem.js中的 18行代码 b / i > 750 && (b = 750 * i);
    把其中的数字修改为对应的页面宽度
    b. rem插件需要设 "px_to_rem": 75 也就是页面宽度的十分之一

    c. 当在设计稿中量取的值为多少就直接设置为多少像素时rem插件会自动会有一个选项为转换为rem单位之后的值

    + 当页面中没有设置视口缩放标签的值
    a. 那么rem.js会自动生成一个视口标签,该视口标签会进行修改页面的缩放比列
    b. 例如:
    <meta name="viewport" content="initial-scale=0.3333333333333333, maximum-scale=0.3333333333333333, minimum-scale=0.3333333333333333, user-scalable=no">

    c. rem插件需要设 "px_to_rem": 75 也就是页面宽度的十分之一
    d. 当在设计稿中量取的值为多少就直接设置为多少像素时rem插件会自动会有一个选项为转换为rem单位之后的值

    3. 计算原理
    通过设置 根字体元素的大小

    rem.js下载

  • 相关阅读:
    剑指Offer-用两个栈实现队列
    剑指Offer-从尾到头打印链表
    滑动门技术实现
    解决keil5中文注释乱码方法
    faker数据填充详解
    redis在微博与微信等互联网应用笔记
    JDBC插入中文数据出现?号地解决问题
    idea配置less自动编译
    idea使用Vue的v-bind,v-on报错
    idea 代码部分格式化
  • 原文地址:https://www.cnblogs.com/litings/p/11088686.html
Copyright © 2020-2023  润新知