当前位置:首页 > VUE

vue实现rem适配

2026-02-10 21:42:16VUE

vue实现rem适配的方法

安装postcss-pxtorem插件

在项目根目录下运行命令安装插件:

npm install postcss-pxtorem -D

配置postcss.config.js

在项目根目录创建或修改postcss.config.js文件:

module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 37.5, // 设计稿宽度/10,如375设计稿就写37.5
      propList: ['*'],
      selectorBlackList: ['.norem'] // 过滤掉.norem开头的class,不进行rem转换
    }
  }
}

创建rem.js工具文件

在src/utils目录下创建rem.js文件:

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

在main.js中引入rem.js

在项目入口文件main.js中添加:

import '@/utils/rem.js'

编写CSS时直接使用px单位

在编写样式时直接使用px单位,插件会自动转换为rem:

.title {
  font-size: 14px; /* 会自动转换为rem单位 */
}

注意事项

设计稿尺寸建议使用375px宽度(iPhone6/7/8尺寸),这样rootValue设置为37.5时,1rem=37.5px。如果是750px的设计稿,rootValue应设置为75。

不需要转换的样式可以添加.norem前缀:

vue实现rem适配

.norem {
  border: 1px solid #ccc; /* 不会被转换为rem */
}

标签: vuerem
分享给朋友:

相关文章

vue实现主页

vue实现主页

Vue 实现主页的基本步骤 创建一个 Vue 主页通常涉及以下几个关键步骤,从项目初始化到页面布局和功能实现。 初始化 Vue 项目 使用 Vue CLI 或 Vite 初始化项目。Vue CLI…

vue实现换行

vue实现换行

Vue 中实现换行的几种方法 在 Vue 中实现换行可以通过多种方式,具体取决于使用场景和需求。以下是常见的几种方法: 使用 HTML 的 <br> 标签 在模板中直接使用 <br…

vue实现刷卡

vue实现刷卡

Vue 实现刷卡效果 在 Vue 中实现刷卡效果可以通过 CSS 动画和 Vue 的过渡系统结合完成。以下是一种常见的实现方式: 基础实现方法 安装 Vue 过渡依赖(如果尚未安装): npm i…

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

vue工序实现

vue工序实现

Vue 工序实现方法 在Vue中实现工序(或流程)功能,通常涉及状态管理、组件通信和动态渲染。以下是几种常见方法: 使用动态组件 通过Vue的<component :is="currentCo…

自己实现vue

自己实现vue

实现简易版 Vue.js 核心功能 要实现一个简易版 Vue.js,需要理解其核心功能:数据响应式、模板编译、依赖收集和虚拟 DOM。以下分模块实现关键功能。 数据响应式(Reactivity) 通…