From e645760760ee9a3aad738eafaa17a3ef3413a24a Mon Sep 17 00:00:00 2001 From: icssoa <615206459@qq.com> Date: Mon, 23 Jun 2025 18:21:09 +0800 Subject: [PATCH] 1 --- packages/vite-plugin/dist/index.js | 14 +++++++++++++- packages/vite-plugin/src/uniapp-x/tailwind.ts | 14 +++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/vite-plugin/dist/index.js b/packages/vite-plugin/dist/index.js index d3b9fb8..65b9bbc 100644 --- a/packages/vite-plugin/dist/index.js +++ b/packages/vite-plugin/dist/index.js @@ -1750,6 +1750,7 @@ if (typeof window !== 'undefined') { }, // 处理声明规则 Declaration(decl) { + const className = decl.parent.selector || ""; // 处理 Tailwind 自定义属性 if (decl.prop.includes("--tw-")) { colorValues[decl.prop] = decl.value.includes("rem") @@ -1766,7 +1767,7 @@ if (typeof window !== 'undefined') { // 处理文本大小相关样式 if (decl.value.includes("rpx") && decl.prop == "color" && - decl.parent.selector?.includes("text-")) { + className.includes("text-")) { decl.prop = "font-size"; } // 删除不支持的属性 @@ -1780,6 +1781,17 @@ if (typeof window !== 'undefined') { decl.value = "1"; } } + // 处理 visibility 属性 + if (decl.prop == "visibility") { + decl.remove(); + } + // 处理 sticky 属性 + if (className == ".sticky") { + if (decl.prop == "position" || + decl.value == "sticky") { + decl.remove(); + } + } // 解析声明值 const parsed = valueParser(decl.value); let hasChanges = false; diff --git a/packages/vite-plugin/src/uniapp-x/tailwind.ts b/packages/vite-plugin/src/uniapp-x/tailwind.ts index 350480d..5aba44d 100644 --- a/packages/vite-plugin/src/uniapp-x/tailwind.ts +++ b/packages/vite-plugin/src/uniapp-x/tailwind.ts @@ -134,6 +134,8 @@ function postcssPlugin(): Plugin { // 处理声明规则 Declaration(decl: any) { + const className = decl.parent.selector || ""; + // 处理 Tailwind 自定义属性 if (decl.prop.includes("--tw-")) { colorValues[decl.prop] = decl.value.includes("rem") @@ -155,7 +157,7 @@ function postcssPlugin(): Plugin { if ( decl.value.includes("rpx") && decl.prop == "color" && - decl.parent.selector?.includes("text-") + className.includes("text-") ) { decl.prop = "font-size"; } @@ -178,6 +180,16 @@ function postcssPlugin(): Plugin { decl.remove(); } + // 处理 sticky 属性 + if (className == ".sticky") { + if ( + decl.prop == "position" || + decl.value == "sticky" + ) { + decl.remove(); + } + } + // 解析声明值 const parsed = valueParser(decl.value); let hasChanges = false;