当前位置: 首页 > ops >正文

如何在vite构建的vue项目中从0到1配置postcss-pxtorem

1. 安装postcss-pxtorem和autoprefixer

yarn add postcss-pxtorem autoprefixer

2. 在vite.config.ts中写入

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import postcssPxtorem from "postcss-pxtorem";
import autoprefixer from "autoprefixer";
import path from "path";export default defineConfig({plugins: [vue()],server: {host: true,port: 80,},css: {postcss: {plugins: [postcssPxtorem({rootValue: 16, // 基准值,表示1rem等于多少pxselectorBlackList: [], // 不转换的类名前缀列表propList: ["*"], // 需要转换的属性 *表示所有属性mediaQuery: true, // 是否在媒体查询的css代码中也进行转换minPixelValue: 1, // 设置要替换的最小像素值}),autoprefixer(),],},},resolve: {alias: {"@": path.resolve(__dirname, "./src"),},},
});

3. 写一个setRemTs文件,并在mainTs文件中引入

/*** 动态设置根元素的字体大小* @param {number} designWidth - 设计稿的宽度*/
function setRem(designWidth: number) {const docEl = document.documentElement;const resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';const recalc = () => {const clientWidth = docEl.clientWidth;if (!clientWidth) return;// 根据设计稿宽度计算根元素字体大小docEl.style.fontSize = 16 * (clientWidth / designWidth) + 'px';};if (!document.addEventListener) return;window.addEventListener(resizeEvt, recalc, false);document.addEventListener("DOMContentLoaded", recalc, false);
}
setRem(1920);export default setRem;

完工

可以正常使用了,启动项目吧😆😆😆。

http://www.xdnf.cn/news/4727.html

相关文章:

  • 02-GBase 8s 事务型数据库 客户端工具dbaccess
  • 什么是变量提升?
  • WiFi出现感叹号上不了网怎么办 轻松恢复网络
  • Off-Policy策略演员评论家算法SAC详解:python从零实现
  • SpringBoot使用定时线程池ScheduledThreadPoolExecutor
  • 【C++游戏引擎开发】第34篇:C++实现反射
  • 【嵌入式开发-LCD】
  • 【平面波导外腔激光器专题系列】1064nm单纵模平面波导外腔激光器‌
  • C++继承语法讲解
  • 2025最新:3分钟使用Docker快速部署Redis集群
  • 为什么 MySQL 用 B+ 树作为数据的索引,以及在 InnoDB 中数据库如何通过 B+ 树索引来存储数据以及查找数据
  • base64与图片的转换和预览(高阶玩法)
  • 【Ubuntu系统镜像文件下载(官网)】
  • AI赋能高频PCB信号完整性优化
  • 正态分布和幂律分布
  • 存储器:DDR和HBM的区别
  • css样式基础
  • Python中,正则表达式,
  • 观察者GIS知识星球资源汇总-2025V1
  • 当数据爆炸遇上SQL Server:优化策略全链路解析
  • 深度解析语义分割评估指标:从基础到创新实践
  • TLS(传输层安全协议)
  • 66、微服务保姆教程(九)微服务的高可用性
  • 代码随想录第37天:动态规划10(公共子序列问题)
  • css3伸缩盒模型第三章(伸缩相关)
  • obj = null; 赋值null之前没有其他引用指向obj对象,那么,当obj=null时,会被垃圾回收机制立即回收吗?
  • 湖北理元理律师事务所:债务优化中的“生活保障”方法论
  • PCIe控制器介绍(二)
  • 47. 全排列 II
  • C++类继承学习笔记