vue px转rem配置详解

 更新时间:2021年12月09日 15:49:36   作者:hyduan_h5  
这篇文章主要为大家介绍了vue px转rem配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

方法一

一、配置与安装步骤:

1、在 Vue 项目的 src 文件夹下创建一个 config 文件夹:

2、在 config 文件夹中创建 rem.js:

在这里插入图片描述

3、将以下代码复制到 rem.js 中:

// 基准大小
const baseSize = 32
// 设置 rem 函数
function setRem () {
  // 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / 750
  // 设置页面根节点字体大小
  document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
  setRem()
}

4、在 src 文件夹下的 main.js 中引入:

import './config/rem'

5、在 Vue 项目根目录终端引入:

npm install postcss-pxtorem -D

6、在 Vue 项目文件夹下的 postcss.config.js 中加入:

module.exports = {
  plugins: {
    autoprefixer: {},
    "postcss-pxtorem": {
      "rootValue": 16,
      "propList": ["*"]
    }
  }
}

方法二

第一步 安装 lib-flexible

npm i lib-flexible --save

第二步 安装 px2rem-loader

npm install px2rem-loader --save-dev

第三步 引入lib-flexible

import 'lib-flexible/flexible'

第四步 最重要的一步 配置utils文件

const px2remLoader = {
    loader: 'px2rem-loader',
    options: {
      remUnit: 37.5
    }
  }<br>//在generateLoaders方法中添加px2remLoader
1
const loaders = [cssLoader,px2remLoader]

或者第四步:Create new “vue.config.js” file if without “vue.config.js” (目录: hello-world/vue.config.js)

module.exports = {
     chainWebpack: (config) => {
         config.module
         .rule('css')
         .test(/\.css$/)
         .oneOf('vue')
         .resourceQuery(/\?vue/)
         .use('px2rem')
         .loader('px2rem-loader')
         .options({
             remUnit: 75 // 75表示750的设计稿,37.5表示375的设计稿
         })
     }
 }

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>

方法三

第一步 安装 amfe-flexible

npm i amfe-flexible -S

第二步 安装 postcss-pxtorem

npm install postcss-pxtorem --save-dev

第三步 引入amfe-flexible

import 'amfe-flexible'

第四步根目录下创建postcss.config.js文件

module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*']
    }
  }
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • vue给对象动态添加属性和值的实例

    vue给对象动态添加属性和值的实例

    今天小编就为大家分享一篇vue给对象动态添加属性和值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Vuex新手的理解与使用详解

    Vuex新手的理解与使用详解

    这篇文章主要介绍了Vuex新手的理解与使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Vue2中项目打包优化的方法详解

    Vue2中项目打包优化的方法详解

    这篇文章主要为大家详细介绍了vue2项目的打包优化方法,包括减少打包代码体积和提升编译时间等,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • Vue3 实现验证码倒计时功能(刷新保持状态)

    Vue3 实现验证码倒计时功能(刷新保持状态)

    倒计时的运用场景是需要经常用到的,但是根据业务的不同,好比手机验证码或者是邮箱验证码之类的,即使用户跳转到其它页面或者刷新,再次回到登录也,验证码的倒计时也得保持状态,下面通过本文给大家分享Vue3 验证码倒计时功能实现,感兴趣的朋友一起看看吧
    2022-08-08
  • vue mounted()函数中无法定义初始化样式的原因分析

    vue mounted()函数中无法定义初始化样式的原因分析

    这篇文章主要介绍了vue mounted()函数中无法定义初始化样式的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 关于echarts 清空上一次加载的数据问题

    关于echarts 清空上一次加载的数据问题

    这篇文章主要介绍了关于echarts 清空上一次加载的数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue中的项目打包及部署全流程

    Vue中的项目打包及部署全流程

    这篇文章主要介绍了Vue中的项目打包及部署全流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue-resouce设置请求头的三种方法

    vue-resouce设置请求头的三种方法

    本篇文章主要介绍了vue-resouce设置请求头的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Vue input输入框回车以后自动刷新页面(直播程序)

    Vue input输入框回车以后自动刷新页面(直播程序)

    这篇文章主要介绍了直播程序,Vue input输入框回车以后自动刷新页面,适用场景是在输入框输入字符并按下回车键搜索时,刷新页面,需要的朋友参考下实现代码
    2023-01-01
  • vue自定义switch开关组件,实现样式可自行更改

    vue自定义switch开关组件,实现样式可自行更改

    今天小编就为大家分享一篇vue自定义switch开关组件,实现样式可自行更改,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论