rem等比例自适应手机尺寸

方法:用scss的函数动态计算rem值

$rem : 75px;基准值 设计图是750的宽 设为$rem变量设为75,设计图是350的宽 设为$rem变量设为35,
老的写法 需要用js来配合来动态改变font-size大小
1
2
3
4
5
//以iPhone6作为基准屏幕宽度
@function px2rem($px){
    $rem : 75px;
    @return ($px/$rem) + rem;
}
 

使用方法 根据设计图量取尺寸大小,直接把数值放入sass函数中即可.

调用sass函数并传入数值,设计图中的元素是24px就把24px传入函数中

 

1
2
3
4
5
span {
           display: block;
           font-size: px2rem(24px);//调用sass函数并传入数值设计图中是24px就把24px传入函数中
           color: #b3b3b3;
       }

 最后要在HTML中加入以下代码

js:动态调整html的font-size

复制代码
//动态调整html font-size大小
            (function() {
                resizeFont();

                function resizeFont() {
                    var htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
                    var htmlDom = document.getElementsByTagName("html")[0];
                    htmlDom.style.fontSize = htmlWidth / 10 + "px";
                }
                window.onresize = function() {
                    resizeFont();
                }
            })()
复制代码

 现在的写法 原理与老方法相同,就html这里font-size用vw单位来动态改变,不再通过js来改变(1vw等于设备的1/10) 比老版的写法要方便多了,但兼容性不如老版本安卓4.4才支持vw属性

复制代码
@function px2rem($px){
    $rem: 75px;
    @return ($px / $rem) + rem;
}
html{
    font-size: 10vw;
    font-family: "微软雅黑";
}
.box{
    width: px2rem(130px);
    font-size:px2rem(30px) ;
}
复制代码

 

posted @   雪旭  阅读(1430)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示