From 3b16e7a123dbad7a85d1027b159ed72a86ca21e3 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Tue, 29 Jul 2025 09:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=8F=E6=98=8E=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E7=9A=84=E6=A8=A1=E7=B3=8A=E5=BA=A6=E5=92=8C=E9=80=8F?= =?UTF-8?q?=E6=98=8E=E5=BA=A6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/@core/scss/_misc.scss | 7 ++++--- src/layouts/components/Footer.vue | 6 ++++++ src/layouts/components/UserProfile.vue | 1 + src/styles/themes/transparent.scss | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/@core/scss/_misc.scss b/src/@core/scss/_misc.scss index 31c8e1de..fd4daf24 100644 --- a/src/@core/scss/_misc.scss +++ b/src/@core/scss/_misc.scss @@ -28,8 +28,8 @@ code { background: rgba(var(--v-theme-background), 1); .v-theme--transparent & { - backdrop-filter: blur(5px); - background: rgba(var(--v-theme-background), 0.1) !important; + backdrop-filter: blur(var(--transparent-blur-light, 5px)); + background: rgba(var(--v-theme-background), var(--transparent-opacity-light, 0.1)) !important; } } @@ -60,7 +60,8 @@ code { } .v-theme--transparent & { - background: rgba(var(--v-theme-background), 0.3); + backdrop-filter: blur(var(--transparent-blur-light, 10px)); + background: rgba(var(--v-theme-background), var(--transparent-opacity-light, 0.3)); } } } diff --git a/src/layouts/components/Footer.vue b/src/layouts/components/Footer.vue index 8f7fee9b..205b9089 100644 --- a/src/layouts/components/Footer.vue +++ b/src/layouts/components/Footer.vue @@ -252,6 +252,12 @@ const showDynamicButton = computed(() => { pointer-events: auto; transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1); + // 透明主题下的特殊样式 + .v-theme--transparent & { + backdrop-filter: blur(var(--transparent-blur, 10px)); + background-color: rgba(var(--v-theme-surface), var(--transparent-opacity-heavy, 0.5)); + } + &.shift-left { transform: translateX(0); } diff --git a/src/layouts/components/UserProfile.vue b/src/layouts/components/UserProfile.vue index 8e2b60c8..5c220a9c 100644 --- a/src/layouts/components/UserProfile.vue +++ b/src/layouts/components/UserProfile.vue @@ -335,6 +335,7 @@ function applyTransparencySettings() { root.style.setProperty('--transparent-opacity-light', (transparencyOpacity.value * 0.67).toString()) root.style.setProperty('--transparent-opacity-heavy', (transparencyOpacity.value * 1.67).toString()) root.style.setProperty('--transparent-blur', `${transparencyBlur.value}px`) + root.style.setProperty('--transparent-blur-light', `${transparencyBlur.value * 0.6}px`) root.style.setProperty('--transparent-blur-heavy', `${transparencyBlur.value * 1.6}px`) // 保存到本地存储 diff --git a/src/styles/themes/transparent.scss b/src/styles/themes/transparent.scss index 4b7aae8a..d3993ca2 100644 --- a/src/styles/themes/transparent.scss +++ b/src/styles/themes/transparent.scss @@ -5,6 +5,7 @@ html[data-theme="transparent"] { --transparent-opacity-light: 0.2; --transparent-opacity-heavy: 0.5; --transparent-blur: 10px; + --transparent-blur-light: 6px; --transparent-blur-heavy: 16px; // 应用、布局、主内容区域