当前位置:首页 > VUE

vue实现rem适配

2026-03-07 21:33:43VUE

使用 postcss-pxtorem 插件实现 rem 适配

在 Vue 项目中安装 postcss-pxtorem 插件

npm install postcss-pxtorem -D

配置 postcss.config.js 文件

module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 37.5, // 设计稿宽度/10
      propList: ['*'],
      selectorBlackList: ['.norem'] // 过滤掉.norem开头的class
    }
  }
}

动态设置 html 的 font-size

在项目入口文件 main.js 中添加以下代码

function setRem() {
  const docEl = document.documentElement
  const width = docEl.clientWidth
  const rem = width / 10
  docEl.style.fontSize = rem + 'px'
}

window.addEventListener('resize', setRem)
setRem()

使用 flexible.js 方案实现 rem 适配

下载 flexible.js 并引入项目

// 在 index.html 中引入
<script src="/path/to/flexible.js"></script>

配置 postcss-pxtorem

module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 75, // 750px设计稿
      propList: ['*'],
      minPixelValue: 2
    }
  }
}

使用 viewport 单位替代 rem

安装 postcss-px-to-viewport 插件

npm install postcss-px-to-viewport -D

配置 postcss.config.js

module.exports = {
  plugins: {
    'postcss-px-to-viewport': {
      viewportWidth: 750, // 设计稿宽度
      unitPrecision: 5,
      viewportUnit: 'vw',
      selectorBlackList: [],
      minPixelValue: 1,
      mediaQuery: false
    }
  }
}

注意事项

设计稿尺寸通常为750px时,rootValue设置为75;375px设计稿设置为37.5

移动端项目需要在index.html中添加viewport meta标签

vue实现rem适配

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

对于不想转换的样式,可以使用PX或Px作为单位,或者在selectorBlackList中配置过滤规则

标签: vuerem
分享给朋友:

相关文章

vue懒加载实现难吗

vue懒加载实现难吗

vue懒加载的实现难度 Vue懒加载的实现并不复杂,核心逻辑是通过动态导入(Dynamic Imports)和路由配置或组件异步加载完成。以下是具体实现方法: 路由懒加载实现 在Vue Router…

vue实现发表

vue实现发表

Vue 实现发表功能 在 Vue 中实现发表功能通常涉及表单处理、数据绑定和网络请求。以下是实现步骤和代码示例: 表单设计与数据绑定 创建一个表单用于输入发表内容,使用 v-model 进行数据双向…

vue实现管道

vue实现管道

Vue 中实现管道(Pipe)功能 在 Vue 中可以通过过滤器(Filters)或计算属性(Computed Properties)实现类似管道的功能,将数据经过多个处理步骤后输出。 使用过滤器(…

vue实现报表

vue实现报表

vue实现报表的方法 使用Vue实现报表通常需要结合图表库或表格组件。以下是几种常见方法: 使用ECharts 安装ECharts库: npm install echarts vue-echart…

vue实现drag

vue实现drag

Vue 实现拖拽功能的方法 在 Vue 中实现拖拽功能可以通过原生 HTML5 的拖拽 API 或第三方库如 vuedraggable 来完成。以下是两种常见方法的实现方式。 使用 HTML5 拖拽…

vue实现高亮

vue实现高亮

Vue 实现文本高亮的方法 在 Vue 中实现文本高亮可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-html 指令 通过 v-html 指令可以动态插入 HTML 内容,将需要高…