小程序如何实现rem?

摘要:最近在学习小程序,要把html的代码转换成小程序界面,其中就遇到了rem的转换问题,但小程序不太兼容rem,不是不能用rem,而是没办法设置根元素的font-size,因为rem是相对于根元素的font-size

最近在学习小程序,要把html的代码转换成小程序界面,其中就遇到了rem的转换问题,但小程序不太兼容rem,不是不能用rem,而是没办法设置根元素的font-size,因为rem是相对于根元素的font-size,而小程序的根元素font-size一直是16px。既然我设置了page{ font-size:1px }也不起作用,那要怎么实现rem呢

这里我用css变量来实现伪rem,定义一个css变量--app-rem-size,然后在各个屏幕尺寸中定义--app-rem-size大小值;

以下是app.wxss文件

page{
    --app-rem-size:10px;
  font-size:calc(var(--app-rem-size)*1.2);

}
@media screen and (min-width: 320px) and (max-width: 359px) {
     page {
         --app-rem-size: 10px;
     }
}
@media screen and (min-width: 360px) and (max-width: 413px) {
     page {
         --app-rem-size: 12px;
     }
}

@media screen and (min-width: 414px) {
    page {
        --app-rem-size: 14px;
     }
}
然后在我需要用到rem的地方,比如 height:calc(var(--app-rem-size)*2) 这样使用,虽然有点麻烦,但也是没办法中的办法了。


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_6403