之前转载过一篇《【转载】Vue 项目自动转换 px 为 rem,高保真还原设计图》使用的是 postcss 的插件
postcss-pxtorem
,这次介绍另外一个插件px2rem-loader
安装 px2rem-loader
1 | npm install px2rem-loader --save-dev |
配置 px2rem-loader
在vue-cli
生成的文件中,找到以下文件 build/utils.js
1 | const postcssLoader = { |
importLoaders 也可以直接加载 loader 后面
loader: 'css-loader?importLoaders=1'
1 | // NOTE: 配置 px2rem-loader |
更多 px2rem 的用法可以参考:px2rem
直接写 px,编译后会直接转化成 rem —- 除开下面两种情况,其他长度用这个
在 px 后面添加/*no*/
,不会转化 px,会原样输出。 — 一般 border 需用这个
在 px 后面添加/*px*/
,会根据 dpr 的不同,生成三套代码。—- 一般字体需用这个
创建rem.js
文件
1 | // 基准大小 |
rem.js 文件中的
baseSize
和 px2remLoader 中的remUnit
是对应的。如果不想使用 rem.js 这种简单粗暴的粗略计算,更进一步的可以使用
lib-flexible
、hotcss
这两个过渡方案。如果你的项目不是必须兼容低版本的可以考虑使用
vw
来做适配:《如何在 Vue 项目中使用 vw 实现移动端适配》。