当前位置:首页 > VUE

vue cli怎么实现rem

2026-02-25 06:35:06VUE

Vue CLI 实现 rem 适配方案

在 Vue CLI 项目中实现 rem 适配,通常需要结合 postcss-pxtorem 插件和动态设置根字体大小。以下是具体实现步骤:

安装 postcss-pxtorem

通过 npm 或 yarn 安装 postcss 插件:

npm install postcss-pxtorem -D
# 或
yarn add postcss-pxtorem -D

配置 postcss.config.js

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

module.exports = {
  plugins: {
    'postcss-pxtorem': {
      rootValue: 16, // 基准值,1rem = 16px
      propList: ['*'], // 转换所有属性
      selectorBlackList: [/^html$/], // 排除 html 标签
    },
  },
};

动态设置根字体大小

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

// 基准大小
const baseSize = 16;

function setRem() {
  const scale = document.documentElement.clientWidth / 1920; // 设计稿宽度
  document.documentElement.style.fontSize = `${baseSize * Math.min(scale, 2)}px`;
}

// 初始化
setRem();
// 窗口变化时重置
window.onresize = function() {
  setRem();
};

在 main.js 中引入

在项目入口文件 src/main.js 中引入 rem 设置:

import './utils/rem';

可选:使用 lib-flexible

作为替代方案,可以安装 amfe-flexible 自动处理适配:

npm install amfe-flexible -S

然后在 main.js 中引入:

import 'amfe-flexible';

注意事项

  1. 设计稿测量值需直接填写像素值,插件会自动转换为 rem
  2. 对于不想转换的样式,可通过 PX 单位绕过转换
  3. 移动端项目建议将 rootValue 设置为设计稿宽度/10(如750设计稿设为75)

以上方案实现了:

vue cli怎么实现rem

  • 开发时直接使用设计稿像素值
  • 自动转换为 rem 单位
  • 根据屏幕宽度动态调整根字体大小
  • 完美适配各种屏幕尺寸

标签: vuecli
分享给朋友:

相关文章

vue实现好友列表

vue实现好友列表

实现好友列表的Vue组件 数据准备 在Vue组件的data中定义好友列表数据,通常是一个数组对象,每个对象包含好友的基本信息如ID、头像、昵称等。 data() { return { f…

vue 实现pc

vue 实现pc

Vue 实现 PC 端应用的核心要点 Vue.js 是一个渐进式框架,适合构建 PC 端单页应用(SPA)或复杂的前端界面。以下是实现 PC 端应用的关键方法和注意事项: 项目初始化与工程化配置 使…

vue实现popup

vue实现popup

Vue 实现 Popup 弹窗 使用 Vue 原生组件 创建一个基本的 Vue 组件作为弹窗,通过 v-if 或 v-show 控制显示隐藏。 <template> <div&…

vue实现portal

vue实现portal

Vue 实现 Portal 功能 Portal 是一种将子节点渲染到父组件 DOM 层级之外的 DOM 节点的技术,常用于实现模态框、弹出层等需要脱离当前组件层级的场景。Vue 可以通过多种方式实现…

vue filter 实现

vue filter 实现

在 Vue.js 中,过滤器(Filter)是一种用于文本格式化的功能,可以在模板中直接使用。以下是实现过滤器的详细方法: 全局过滤器注册 通过 Vue.filter 方法注册全局过滤器,可在所有组…

vue ui实现创建vue项目

vue ui实现创建vue项目

使用 Vue UI 创建 Vue 项目 Vue UI 是 Vue CLI 提供的图形化界面工具,可以通过可视化操作创建和管理 Vue 项目。 安装 Vue CLI 确保已安装 Node.js(建议版…