Communitygithub.com

kennedys0/taste-style-glassmorphism

僅在使用者明確選擇此風格時,為前端和 UI 作品套用 Glassmorphism 設計風格。提供字體、色彩、佈局、元件、互動、動態、文案與品質門檻。切勿強加於無關的工作上。

taste-style-glassmorphism 是什麼?

這個技能專為 Claude Code、Cursor 等 AI 代理工具設計,實作 Glassmorphism(毛玻璃效果)設計風格。它提供一套完整的風格指南,涵蓋字體排版、色彩方向、佈局幾何、元件原型、互動動畫、UI 文案以及品質驗證門檻。核心特點是「選用機制」:只有當使用者明確選擇或專案設計系統指定使用 Glassmorphism 時,AI 代理才會啟動該風格,避免過度設計或風格誤用。該技能支援輕盈(milky/light)與暗色(smoked/dark)兩種模式,並要求所有玻璃材質的實現必須通過視覺門檻:具備後景深度、半透明感、backdrop-filter 模糊效果、可辨識的邊緣與深度,以及清晰可讀的內容。此外,它明確允許使用漸層或環境光源作為玻璃的襯托背景,並設有嚴格的無障礙與效能規範,例如確保文字對比度至少達到 WCAG AA 4.5:1,以及避免不必要的動畫或過度模糊。適合用於作品集、產品登陸頁、導覽覆蓋層、媒體介面等創意或表達性場景。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kennedys0/taste-engine/tree/HEAD/optional-standalone-skills/taste-style-glassmorphism

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

僅在使用者明確選擇或已確認的專案設定指定此風格時,才可使用此技能。對於未經說明的新 UI 需求,請使用風格選擇器(如 style-selector),而非由 AI 自行決定使用者喜好。現有的品牌、無障礙規範和使用者覆寫規則,其優先級高於以下所有範例。以下風格指南並非允許在風格選定前就開始撰寫 UI 程式碼。

風格套件:Glassmorphism (毛玻璃效果)

ID: glassmorphism
特徵標記: 視覺上結霜、半透明的表面,浮在具層次感的光/色層之上,內容清晰且具有功能性的深度感。

這是一種選擇性採用 (opt-in) 的風格,非引擎預設。僅在由使用者選定或專案設計系統已確立時才啟動。請尊重產品結構、品牌方向、無障礙規範及現有互動。一個帶有藍色按鈕的通用深色頁面不算是 Glassmorphism。

適合場景 / 取捨考量

  • 適合用於: 表達性強的作品集、產品登陸頁面、導覽覆蓋層、媒體介面、創意儀表板及受範圍限制的 UI 展示。
  • 謹慎使用於: 資料密集的表格、長篇閱讀內容、無障礙要求高的表單,或文字背後是不可預測的照片素材。請將高密度內容放置在適當的實色或強烈色調的表面上。
  • 參考方向: 一種 輕盈、如牛奶般結霜的玻璃窗格,搭配柔和的藍色環境光與圓潤的幾何造型;或是 深色、煙燻玻璃系統,採用半透明石板色面板、柔和的紫/青色照明與清晰易讀的控制項。兩者皆有效,且不強迫使用固定的品牌色板。

玻璃材質保真門檻 —— 強制性

在稱一個毛玻璃頁面完成前,開啟的視口 (viewport) 必須在視覺上明顯表現出玻璃的構成。 如果使用者選擇了此風格,而頁面僅有大型背景、字體和一個傳統按鈕,即使 CSS 變數名為 glass,這仍是不合格 (FAIL)。

一個成功的顯著玻璃元件必須展示所有以下條件:

  1. 背景深度: 在表面背後有意義且可辨別的襯托背景(柔和的淺色區域、受控制的漸層、形狀、專案提供的照片,或現有應用程式內容)。玻璃需要有東西可以視覺性地濾過。Taste Engine 的 anti-slop 機制明確允許 Glassmorphism 使用有目的的漸層和環境色塊,因為它們能建立光線穿過玻璃窗格的視覺效果。它們本質上不是 slop。
  2. 半透明感: 面板讓一些背景的色度/亮度影響其外觀。避免使用行銷為玻璃但實際上是完全不透明的深色卡片。
  3. 結霜感: backdrop-filter: blur(...)(以及必要的 -webkit-backdrop-filter )能在窗格範圍內明顯柔化背景細節,而窗格附近的未遮罩背景則保持清晰。僅有模糊的背景圖像不算結霜玻璃。
  4. 可讀的邊緣與深度: 柔和的亮邊/高光、些微的內部光澤、適當的圓角輪廓,以及克制的陰影或分離感。玻璃應有可感知的邊界,而非一塊平坦的灰色石板。
  5. 內容清晰度: 文字、焦點指示器、控制狀態和動作在實際合成的背景上,以及在停用輔助效果的情況下,仍能保持清晰易讀。

首視口測試: 在桌面螢幕截圖中,不需閱讀頁面標題,就能辨識出主體窗格、其背後獨特的背景、窗格邊界內部模糊/色調調整的外觀,以及其邊緣高光。如果無法做到,請在添加更多內容前修改材質。

非卡片數量規則: 一個顯著的主題窗格或少量元件展示表面就已足夠。不要用相同的透明卡片覆蓋每個區塊。在元件展示頁上,使用真實、功能性的範例(例如開關、輸入框、對話框、快顯通知作為標記的展示、導覽)來展示材質及其狀態;不要虛構真實的產品狀態或社交證明。

明確的背景漸層例外——玻璃允許發光

Glassmorphism 特定覆寫: 通用 anti-slop 警告中針對通用裝飾性漸層的規則,在此不得被解釋為禁止漸層、網格狀色場、模糊的色塊、環境照明或連貫的背景圖像。這些是有效的實現材質所需的底層層,即使它們是裝飾性的,因為它們使半透明感、結霜感、邊緣和深度得以被感知。此豁免並非允許偽造內容或無法存取/效能低下的效果。

  • 允許的背景處理方式: 1–3 個連貫的 radial-gradient() 淺色區域、克制的多段線性或網格漸層、使用偽元素產生的模糊有色環境形狀、符合品牌的插圖/照片,或窗格背後的現有內容。靜態 CSS 通常就足夠,無需額外的圖片或動畫庫。
  • 輕盈 / 乳白色範例: 白色/冰色底,搭配冷色藍/薰衣草紫的柔和淺色區域,置於半透明白色卡片之後;窗格需明顯柔化色彩邊界。
  • 暗色 / 煙燻範例: 深色墨底,搭配受控的紫/青/湖水綠亮色區域,置於半透明石板色窗格之後;明亮的漸層區域不得遮擋白色正文文字。
  • 構圖要求: 至少放置一個光/色過渡或可識別的背景元素,使其部分位於主要玻璃窗格之後並延伸至窗格外,以便能看見濾鏡前後的差異;一個均勻的全螢幕漸層而無局部變化仍可能不合格。
  • 深度控制: 背景的強調程度應低於內容;使用少量光源,並具有自然的衰減和有意義的位置,而非在每個頁面都使用預設的紫色/藍色色塊。使用使用者的品牌色板和提供的參考。
  • 效能與無障礙: 偏好靜態 CSS 漸層和克制的表面。避免全螢幕移動的漸層動畫、過度的全頁背景模糊、極小且對比度低的文字,以及隱藏的焦點環。尊重透明偏好設定,並測試可讀的不透明備援方案。
  • Anti-slop 解讀: 應根據材質目的、克制程度和易讀性來評估漸層,而非僅因其存在就判定為 slop。為了滿足一個通用的漸層啟發式規則而移除有用的玻璃背景,是一種設計上的退步。

一個好的螢幕截圖應能讓結霜材質一目了然,即使所有標題和標籤都被隱藏。請參閱 examples/glassmorphism/frosted-surfaces.css 以取得入門實作,以及 tests/glassmorphism-visual.md 以了解視覺驗收標準。

字體排版與字型

使用適合品牌的乾淨無襯線字體(系統無襯線字體、DM Sans、Inter 等)。典型閱讀尺寸為 15–17 px;顯示用字型可以更大。保持強烈的字體層級,並避免在可變的玻璃背景上使用極細字重。淺色結霜面板通常需要深色前景文字來增強清晰度;深色煙燻面板則需要高對比的米白色。切勿用彩色光暈替代字體層級結構。

色彩方向

根據上下文選擇一個連貫的方向,或使用使用者的參考:

  • 結霜淺色 / 乳白玻璃: 淺冰白色或淺灰色底色 (#F0F4F8),在半透明白色窗格 (rgba(255, 255, 255, 0.45)) 後方放置冷藍色或其他品牌色調的擴散光。字體顏色為深石板色 (#0F172A),次要顏色為柔和石板色 (#475569)。沿上邊緣可見柔和的玻璃高光 (rgba(255, 255, 255, 0.75))。
  • 煙燻深色 / 夜間玻璃: 深海軍藍/墨色 底色 (#090D16),在藍灰色半透明面板 (rgba(22, 28, 45, 0.55)) 後方放置紫/藍/青綠色環境光區域。前景文字為清晰的瓷白色 (#F8FAFC),次要顏色為柔和石板色 (#94A3B8);深色面板不是接近不透明的矩形。
  • 主題耦合與衝突迴避規則: 在淺色和深色玻璃模式之間切換時,前景文字、邊框和環境光源必須同步切換。前景文字必須在結霜玻璃表面及其後方照亮的背景上,均維持至少 4.5:1 的對比度。切勿在煙燻深色玻璃上使用深色文字,或在結霜淺色玻璃上使用白色文字。

單靠顏色不是 Glassmorphism。切勿對每個品牌都使用霓虹紫/青色作為預設。保留品牌色並滿足高對比度需求。檢查實際合成後的前景對比度(WCAG AA 標準:一般文字 4.5:1,大型文字 3:1;相關非文字控制項至少 3:1)。

佈局與幾何

  • 使用有目的性的前景/背景構圖:環境背景 → 玻璃表面 → 清晰的內容與互動控制項。區分 2–3 個深度平面,避免巢狀卡片混亂。
  • 使用一致的圓角(大型窗格通常為 16–28 px)和間距。避免為了達到 100svh 而讓首視內容過大但幾乎空白。
  • 在響應式螢幕上,窗格應能整齊堆疊,保持可讀的內距,並避免模糊效果被裁剪或溢出。標頭、主題內容和控制項必須能自然適應或擴展。

表面、深度、質感

  • 玻璃配方: 半透明色調 (rgba(...) 或 color-mix)、backdrop-filter: blur(16px) saturate(140%)、半透明的 1px 邊框、柔和的內部頂部高光,以及柔和的層疊陰影。從約 12–24 px 的模糊強度開始,然後根據實際背景進行調整。
  • 淺色玻璃: 使用白色色調表面,alpha 值約 0.24–0.55(取決於背景);透明度過低會消除結霜效果。仍須確保強烈的文字對比度。
  • 深色玻璃: 使用石板/靛藍色調,alpha 值約 0.25–0.56,具有可見的較亮邊緣和背後形成對比的環境光。避免純黑石板和刺眼的霓虹光暈。
  • 深度提示: 面板後的柔和模糊背景、克制的內部光澤、微妙的邊緣發光/反射。不需要通用的氣泡桌布。
  • 使用 @supports 提供備援方案,在 backdrop-filter 不可用時,改為使用實色可讀表面。提供減少透明度/高對比度的替代方案。模糊效果本身絕不能成為理解內容或進行互動的必要條件。

請參閱完整 Taste Engine router 中的 examples/glassmorphism/frosted-surfaces.css(上述 Token 配方在獨立安裝中也可用),以取得獨立的淺色和深色起始 Token。根據專案調整 Token;不要複製所有範例或強制使用固定色板。

元件結構與互動

  • 主題區 (Hero): 立即讓選定的美學風格變得明顯。將實際的 Taste Engine/專案標題和呼籲行動按鈕放在玻璃平面的內部或與之重疊,或呈現一個同樣令人信服的玻璃窗構圖。在窗格後方提供有意義的照明背景。
  • 頁首/導覽: 微妙的結霜列可以重疊在背景上,但需保持對比度和可視焦點。在展示玻璃 UI 時,避免使用一個視覺上與頁面脫節的平面不透明頂部欄。
  • 功能性範例: 具有真實開/關狀態的開關、可選的選項、分頁標籤、模態框、表單,以及僅在確實觸發時或清楚標記為靜態展示的快顯通知。在適用時顯示獲得焦點、懸停、啟用、停用和錯誤狀態。前景控制表面的不透明度可以高於上層玻璃,以確保可用性。
  • 按鈕: 可以為了可操作性和提示性而使用實色強調色表面;並非每個控制項都必須是透明的。一個傳統按鈕不能補償其他地方的玻璃效果缺失。
  • 內容: 對長段落、表格和表單,保留使用強烈色調或實色可讀容器;不要將段落放置在雜亂的半透明圖像上。

動態效果

使用互動反饋而非環境移動。在懸停、選擇、窗格揭示或模態框開啟時(僅限於使用者操作觸發時),使用 140–220 毫秒的淡入/位移效果。保持玻璃層的連續性。避免無盡的漂浮球體、移動光束或強制 3D 旋轉。

可選的 Anime.js v4 配方

  • 動態決策: 大多數互動使用 CSS/原生轉場即可;Anime.js v4 是選用的,用於協調狀態轉換,而非必需的視覺依賴。
  • 起始持續時間: 180 毫秒,不使用彈跳效果的緩動函數。對 opacity/transform 進行動畫(對合成器友善),而不是持續動畫模糊或 box-shadow。
  • 減少動態: 尊重 prefers-reduced-motion 設定,並允許中斷/短路轉場。
  • 依賴: 遵循 Taste Engine 的 references/motion-engine.md(如可用);獨立安裝的技能也適用相同指引。

UI 文案與微文案

直接、與產品相關且簡潔。玻璃是一種材質,不是使用模糊文案(如「未來是透明的」)的藉口。避免虛構的徽章、驗證狀態、使用者、生產力分數或推薦。展示資料必須明確標記。

起始 Token(建議,非完整主題)

Token淺色玻璃預設值深色玻璃預設值
--taste-radius-sm14px14px
--taste-radius-lg24px24px
--taste-glass-blur18px18px
--taste-glass-bg#f0f4f8#090d16
--taste-glass-surfacergba(255, 255, 255, 0.45)rgba(22, 28, 45, 0.55)
--taste-glass-text#0f172a#f8fafc
--taste-glass-text-muted#475569#94a3b8
--taste-glass-lightrgba(255, 255, 255, 0.38)rgba(255, 255, 255, 0.38)
--taste-glass-darkrgba(36, 45, 72, 0.38)rgba(36, 45, 72, 0.38)
--taste-glass-edge-lightrgba(255, 255, 255, 0.65)rgba(255, 255, 255, 0.18)
--taste-motion-duration180ms180ms

這些僅為起始值。最終結果必須根據實際內容和背景進行檢查。請勿偷偷載入字體、插圖或動態庫。

主題區構成(完整首視口)

對於具有主題區的公開作品集/登陸頁面/首頁,請使用頁首 + 主題區的首視口構成(min-height: 100svh,附 100vh 備援),而非使用剪裁的固定高度主題區。根據需要減去一個實際存在於文檔流中的頁首尺寸,而不是為覆蓋層減去兩次。在較短的行動裝置螢幕上和放大時應自然增長。材質要求: 首視口顯示一個無可否認的結霜窗格,濾過一個可見且精心構成的背景——而不是在普通文字上方有 80% 的空白深色空間。通過有意義的層次結構和符合品牌的環境光來建立視覺趣味;不要虛構照片、假……

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

kennedys0/taste-engine

Automatically routes visual UI work to a user-chosen aesthetic and applies SEO readiness to public-facing websites. Use whenever a user asks to build, create, design, or redesign a website, portfolio, landing page, dashboard, web app, mobile app, UI/UX screen, frontend, or component, or add/refine micro-interactions or full-screen hero sections (including Indonesian prompts such as "build a portfolio website"). Before writing UI code, ask ONE style question and stop if no visual style or approved project design system is specified. If the prompt already names an aesthetic such as skeuomorphism/skeumorphsm, claymorphism, glassmorphism, brutalism, neo-brutalism, minimalism, bento, or editorial, load its bundled style pack immediately and proceed WITHOUT asking again. Preserve established styles for minor fixes; for SEO-only tasks, load the SEO module without a visual style question; skip unrelated non-visual work.

kennedys0/taste-style-bento

Apply Bento Grid design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-brutalism

Apply Brutalism design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-claymorphism

Apply Claymorphism design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-enterprise

Apply Enterprise / Data-first design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-neo-brutalism

Apply Neo-brutalism design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-retro-terminal

Apply Retro Terminal design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-skeuomorphism

Apply Skeuomorphism design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

kennedys0/taste-style-swiss-editorial

Apply Swiss / Editorial design style to user-selected frontend and UI work. Use only when the user explicitly chooses this style. Provides typography, color, layout, components, interactions, motion, copy and quality gates. Do not impose on unrelated work.

相關技能