项目中样式默认使用 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>