vite+vue3如何配置postcss-pxtorem rem

本文介绍了如何在项目中通过pnpm和npm分别安装postcss-pxtorem和amfe-flexible插件,配置.postcssrc.cjs文件以实现px转rem,并在main.js中引入。关键步骤包括添加依赖、配置根字体大小和选择性转换规则。
部署运行你感兴趣的模型镜像

下载包,一个是pnpm 和npm 自己选择

pnpm add  postcss postcss-pxtorem --save-dev
npm install  postcss postcss-pxtorem --save-dev

还需要在下载一个动态字体大小的插件 也是npm和pnpm

pnpm add amfe-flexible
npm i -S amfe-flexible

main.js中引入

import 'amfe-flexible'

下面的两部很关键,找了很久才找到的希望对你有帮助

在根目录下配置  .postcssrc.cjs文件

// postcss.config.cjs 或者.postcssrc.cjs都可以

module.exports = {
  "plugins": {
    "postcss-pxtorem": {
      rootValue: 37.5, // Vant 官方根字体大小是 37.5
      propList: ['*'],
      selectorBlackList: ['.norem'] // 过滤掉.norem-开头的class,不进行rem转换
    }
  }
}

重新启动项目就可以实现px转为rem了

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

Vue3 项目中使用 Vite 和 TypeScript 实现 PC 端的自适应布局,并结合 `postcss-pxtorem` 插件进行像素单位转换,可以通过以下方式实现。 ### 配置步骤 1. **安装依赖** 首先需要安装 `postcss-pxtorem` 插件以及相关依赖项。通过包管理工具执行如下命令: ```bash npm install postcss-pxtorem --save-dev ``` 2. **配置 PostCSS** 在项目根目录创建或更新 `postcss.config.js` 文件,加入 `postcss-pxtorem` 的配置内容。例如,假设设计稿宽度为 1920px,则可以将 `rootValue` 设置为其十分之一,即 192。 ```javascript import postCssPxToRem from "postcss-pxtorem"; export default { plugins: { autoprefixer: {}, // 自动添加 CSS 前缀(可选) postcss: { plugins: [ postCssPxToRem({ rootValue: 192, // 1rem = 192px propList: ["*"], // 所有属性中的 px 值均会转换为 rem }), ], }, }, }; ``` 此配置会确保所有 CSS 样式文件中的 `px` 单位按照比例转换为 `rem` 单位 [^3]。 3. **Vite 与 TypeScript 支持** 如果项目是基于 Vite 创建的 Vue3 + TypeScript 模板,通常默认已经支持了 PostCSS 的集成。只需确认 `vite.config.ts` 中不需要额外处理 PostCSS 的插件即可,因为 Vite 默认读取 `postcss.config.js` 的配置。 4. **适配逻辑** `postcss-pxtorem` 会根据 `rootValue` 计算 `rem` 的值。例如,在样式表中编写 `font-size: 16px`,它会被自动转换为 `0.0833rem`(公式:`16 / rootValue`)。这种方式使得页面元素能够根据根元素字体大小动态调整布局 [^2]。 5. **注意事项** - 该插件仅作用于 CSS 文件中的 `px` 值,对于内联样式的 `px` 不会进行转换。 - 若希望某些特定样式不被转换,可以通过 `propList` 参数进行排除设置。例如,设置 `propList: ["*", "!border", "!font-size"]` 可以避免对 `border` 和 `font-size` 进行转换 [^3]。 ### 示例代码 下面是一个完整的示例 CSS 代码片段,展示了如何利用 `postcss-pxtorem` 将 `px` 转换为 `rem`: ```css .container { width: 1920px; padding: 20px; } ``` 经过转换后,实际生成的 CSS 会变成: ```css .container { width: 10rem; /* 1920px / 192 */ padding: 0.10416667rem; /* 20px / 192 */ } ``` ### 结果 通过上述配置和步骤,Vue3 项目在开发时可以直接使用 `px` 编写样式,而最终输出时由 `postcss-pxtoret` 插件将其自动转换为 `rem`,从而实现了基于根元素字体大小的自适应布局 [^1]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值