zoukankan      html  css  js  c++  java
  • 移动的自适应方法

    解决方法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下载

  • 相关阅读:
    满巢尽洒英雄泪
    谋略的原则——经商就是讲谋略的交易
    杨文军(为奥运冠军名字作诗)
    邹市明 (为奥运冠军名字作诗)
    王励勤 (为奥运冠军名字作诗)
    想成功创业:要掌握“三笔钱”和“六三一”原则
    王丽萍(再帮别人名字作诗)
    陆春龙(为奥运冠军名字作诗)
    殷剑 (为奥运冠军名字作诗)
    孟关良(为奥运冠军名字作诗)
  • 原文地址:https://www.cnblogs.com/litings/p/11088686.html
Copyright © 2011-2022 走看看