vue 项目使用rem

安装flexible

第一种方法(js引入)

flexible.js的下载

github下载地址:https://github.com/amfe/lib-flexible

第二种方法

a. 安装lib-flexible

npm i lib-flexible --save

b. 在项目入口文件main.js里引入lib-flexible

import 'lib-flexible/flexible.js'

c.在项目根目录的index.html 头部删除自动生成的meta标签, lib-flexible会根据屏幕自动生成相对于的meta标签

// 删除

<meta name="viewport" content="width=device-width, initial-scale=1.0">

d. vscode安装插件cssrem

第三种方法

a. 安装 flexible和 postcss-px2rem(npm安装方式 flexible适用于移动端自适用)

npm install lib-flexible --save
npm i postcss-px2rem --sav

b.在项目根目录的index.html 头部删除自动生成的meta标签, lib-flexible会根据屏幕自动生成相对于的meta标签

<meta name="viewport" content="width=device-width,initial-scale=1.0">

c.引入lib-flexible

在项目入口文件main.js 中引入lib-flexible

import 'lib-flexible/flexible.js'

d.配置postcss-px2rem

px2rem的配置放在vue-cli3 项目中vue.config.js中(如果找不到此文件,可能你是一个新构建的项目,需要手动在项目根目录创建vue.config.js)

module.exports = {
    css: {
        loaderOptions: {
          css: {},
          postcss: {
            plugins: [
              require('postcss-px2rem')({
                remUnit: 37.5 //remUnit: 80意思为1rem=80px
              })
            ]
          }
        }
    },
}

e.使用方法及我遇到的几个坑

1.按照px来编写都会转化成rem的形式,但是有些地方我们不想转换,可以用下面两种方法。

在px后面添加/*no*/,不会转化px,会原样输出。 — 一般border需用这个

在px后面添加/*px*/,会根据dpr的不同,生成三套代码。---- 一般字体需用这个

2.使用过程中,发现某些import外联样式不会被转化,注意避开这些坑。

<style src='../assets/style.css'>
 /* px2rem能正常转换 */
</style>
<style>
  /* px2rem不能正常转换 */
  @import '../assets/style.css';
</style>
<style>
  /* px2rem不能正常转换 */
  @import url('../assets/style.css');
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值