安装
npm install px2rem-loader lib-flexible --save
引入
//在main.js中引入
import 'lib-flexible/flexible.js'
在build下的 utils.js中,找到generateLoaders 方法 ,在generateLoaders 上面添加以下代码
const px2remLoader = {
loader: 'px2rem-loader',
options: {
remUnit: 37.5 //设计稿宽度/10
}
}
修改generateLoaders 方法的loader数组
实际效果
注意
(1)组件中编写的<style></style>下的css
(2)从index.js或者main.js中import ‘../../static/css/reset.css’引入css
(3)在组件的<script type=”text/ecmascript-6″> import ‘../../static/css/reset.css'</script>中引入css
另外的情况不适用:
(1)组件<style></style>中@import “../../static/css/reset.css (可考虑上面(2)、(3)的形式引入)
(2)外部样式:<link rel=”stylesheet” href=”static/css/reset.css”>
(3)元素内部样式:style=”height: 417px; width: 550px;”
另外我要补充的是:在做移动端适配的时候我们不建议给字体也设置rem的单位,针对这种情况,我为字体适配的解决方案是使用媒体查询,文件以组件<style></style>中@import “../../static/css/reset.css形式引入,可完美解决移动端适配问题
如果想要不将px转成rem则需要在css代码后面添加/no/就可以了,例如
.a1{
font-size: 20px;/*no*/
}
参考
https://blog.csdn.net/qq_33485463/article/details/80454326