移动端 REM 适配

rem: 相对于根元素的长度单位。

项目中样式默认使用 px 作为单位,如果需要使用 rem 单位,可以使用以下两个工具:

  • postcss-pxtorem 是一款 postcss 插件,用于将 px 单位转化为 rem
  • lib-flexible 用于设置 rem 基准值

(1)使用 lib-flexible 动态设置 REM 基准值(html 标签的字体大小)

安装依赖:

npm i amfe-flexible

然后在 main.js 中加载执行该模块:

import 'amfe-flexible'

最后测试:在浏览器中切换不同的手机设备尺寸,观察 html 标签 font-size 的变化。

(2)使用 postcss-pxtorem 将 px 转为 rem

安装依赖:

//-D 是 --save-dev 的简写
npm install postcss-pxtorem -D

然后在项目根目录中创建 postcss.config.js 文件:

module.exports = {
  plugins: {
    'autoprefixer': {
      browsers: ['Android >= 4.0', 'iOS >= 8']
    },
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*']
    }
  }
}

配置完毕,重新启动服务

如果重启报错 PostCSS plugin postcss-pxtorem requires PostCSS 8.

则是版本的问题
重新下载

npm i postcss-pxtorem@5.1.1

最后测试:刷新页面,审查元素样式查看是否已将 px 转换为 rem。

需要注意的是:

该插件不能转换行内样式中的 px,例如 <div style="width: 200px;"></div>

posted @   嘿!那个姑娘  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示