• [移动端WEB] 移动端网站响应式布局之"rem",CSS3 rem使用方式


     1 (function(doc, win) {
     2 
     3                 var docEl = doc.documentElement,
     4                     resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
     5                     recalc = function() {
     6                         var clientWidth = docEl.clientWidth;
     7                         if(!clientWidth) return;
     8                         //                        if(clientWidth>=640){
     9                         //                            docEl.style.fontSize = '100px';
    10                         //                        }else{
    11                         //                            docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
    12                         //                        }
    13                         docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
    14                     };
    15 
    16                 if(!doc.addEventListener) return;
    17                 win.addEventListener(resizeEvt, recalc, false);
    18                 doc.addEventListener('DOMContentLoaded', recalc, false);
    19             })(document, window);

    1.根据设计图的大小修改图中的值。当前为 640 ,然后使用的rem值就为设计图的值/100为rem的值

    当然也可以用媒体查询当然有点复杂

     1 $sjt_whdth:640;
     2 
     3 @media (min- 320px) {
     4     html {
     5         font-size:100px*(320/$sjt_whdth) ;
     6         
     7     }
     8 }
     9 
    10 @media (min- 360px) {
    11     html {
    12         font-size: 100px*(360/$sjt_whdth);
    13     }
    14 }
    15 
    16 @media (min- 375px) {
    17     html {
    18         font-size: 100px*(375/$sjt_whdth) ;
    19     }
    20 }
    21 
    22 @media (min- 414px) {
    23     html {
    24         font-size: 100px*(414/$sjt_whdth) ;
    25     }
    26 }
    27 @media (min- 765px) {
    28     html {
    29         font-size: 100px*(765/$sjt_whdth) ;
    30     }
    31 }
    32 
    33 @media (min- 1020px) {
    34     html {
    35         font-size: 100px*(1020/$sjt_whdth) ;
    36     }
    37 }
    38 @media (min- 1280px) {
    39     html {
    40         font-size: 100px*(1280/$sjt_whdth) ;
    41     }
    42 }
    43 
    44 @media (min- 1360px) {
    45     html {
    46         font-size: 100px*(1360/$sjt_whdth) ;
    47     }
    48 }
    49 @media (min- 1600px) {
    50     html {
    51         font-size: 100px*(1600/$sjt_whdth) ;
    52     }
    53 }
    54 @media (min- 1920px) {
    55     html {
    56         font-size: 100px*(1920/$sjt_whdth) ;
    57     }
    58 }

    1.小编习惯scss写css了所以里面会有算法,实际上是不可以的

    2.这里的320px 下的0.5px是什么呢??  0.5是320/640的值。用当前宽度/设计图宽度 ,其中px只是一个单位

    既使一个人,我依然在这里等着你
  • 相关阅读:
    Envoy
    Redis 使用总结
    kafka(一)
    docker搭建kafka环境&&Golang生产和消费
    docker-composer +Grafana+Prometheus系统监控之Redis
    Docker基础命令
    connection pool exhausted
    golang 单元测试&&性能测试
    golang http 中间件
    golang 函数的特殊用法
  • 原文地址:https://www.cnblogs.com/mibear/p/rem.html
Copyright © 2020-2023  润新知