如何在webpack+vue项目中使用postcss-px2rem

4 篇文章 0 订阅

postcss-px2rem在项目中使用可以进行px自动转换为rem单位,但其也有利弊如下:

  • 优点:可以实现边编辑边转换,在开发手机网站是可以很 高效率的工作
  • 缺点:在浏览器器里面调式px,并不太方便

但总归是利大于弊,现在 移动端 还是非常火热…

1. 首先需要安装postcss-plugin-px2rem。
    npm install --save-dev postcss-px2rem
2. vue结尾文件引用vue-loader.config.js中的配置
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
  ? config.build.productionSourceMap
  : config.dev.cssSourceMap
  
/*引入postcss-px2rem 通过require的形式*/ 
var px2rem = require('postcss-px2rem');

module.exports = {
  loaders: utils.cssLoaders({
    sourceMap: sourceMapEnabled,
    extract: isProduction,
    
    /*允许使用usePostCSS*/
    usePostCSS:true,
    
  }),
  cssSourceMap: sourceMapEnabled,
  cacheBusting: config.dev.cacheBusting,
  transformToRequire: {
    video: ['src', 'poster'],
    source: 'src',
    img: 'src',
    image: 'xlink:href'
  },
  
  /*配置remUnit*/
  postcss: function() {
    return [px2rem({remUnit: 37.5})];
  }
}
4. remUnit为1rem应的px值,可以自己进行定义
5. 此时重启项目发现px的值已经在浏览器都换算为rem,但是单位与我们想要不一致。因为rem是根据根元素继承,所以我们需要去更改根元素的font-size
6.在index.html页面中引入,设置比例与remUnit相同即可
<script>document.getElementsByTagName('html')[0].style.fontSize = (document.documentElement.clientWidth ||  document.body.clientWidth) /10 + 'px';</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值