移动端 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 @ 2021-03-27 17:07  嘿!那个姑娘  阅读(128)  评论(0编辑  收藏  举报