• 读jquery-weui的rem.less


    和sui、light7有一些渊源,项目使用的是light7,不过其他两者的文档也都看了,感觉不到大的差别。

    //
    // Rem
    // --------------------------------------------------
    
    // Vertical screen
    
    //375屏幕为 20px,以此为基础计算出每一种宽度的字体大小
    //375以下不变,375以上等比放大
    
    @baseWidth: 375px;
    @baseFont: 20px;
    
    html {
      font-size: @baseFont;  //默认当做320px宽度的屏幕来处理
    }
    
    body {
      font-size: 16px;
    }
    
    @bps: 400px, 414px, 480px; 
    
    .loop(@i: 1) when (@i <= length(@bps)) {  //注意less数组是从1开始的
      @bp: extract(@bps, @i);
      @font: @bp/@baseWidth*@baseFont;  
      @media only screen and (min-width: @bp){
        html {
          font-size: @font !important;
        }
      }
      .loop((@i + 1));
    };
    .loop;

    1.默认的是竖屏情况下的展示。隐约的表明我们要自己禁止横屏或是自己做横屏适应。我的做法是用户横屏时直接出弹框提示。

    2.以375px宽设备的逻辑像素为基准---20px=1rem,计算公式为 x/20=width/375;其中width为设备的逻辑像素,反计算出新的rem基准值。赋值给html。sui,light7,和jquery--weui只给常见的375,414等添加了判断。安卓设备逻辑像素大多是360px,不在判断范围内,直接设置成16px了,没有套用计算公式。

    3.像是padding,margin,font-size等尽量换算成rem,自适应屏幕。

  • 相关阅读:
    作为管理者的基本职责
    websocket接口自动化的封装
    locust性能测试的使用
    git的协作提交流程
    关于接口自动化的实施步骤
    K8S的组件梳理
    jenkins pipeline中,失败后获取异常不中断业务
    pipline在执行的docker镜像中添加hosts
    sonar搭建
    django
  • 原文地址:https://www.cnblogs.com/Merrys/p/8098636.html
Copyright © 2020-2023  润新知