Frutiger Aero
Frutiger Aero
Windows Vista/7时代的玻璃质感美学,天空蓝渐变、半透明毛玻璃面板与自然元素融合,营造清新通透的数字自然感。
配色方案
Primary
#87CEEB
Secondary
#5FB3CC
Accent 1
#ffffff
Accent 2
#e0f2fe
Accent 3
#34d399
Accent 4
#7dd3fc
提示词
硬性 + 软性提示词
一键复制并生成 Frutiger Aero 风格界面。硬性提示词用于强约束一致性,软性提示词用于保留风格方向下的灵活实现。
硬性提示词
高一致性,严格执行风格规则
STYLEKIT_STYLE_REFERENCE
style_name: Frutiger Aero
style_slug: frutiger-aero
style_source: /styles/frutiger-aero
# Hard Prompt
请严格遵守以下风格规则并保持一致性,禁止风格漂移。
## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。
## Style Rules
# Frutiger Aero (Frutiger Aero) Design System
> Windows Vista/7时代的玻璃质感美学,天空蓝渐变、半透明毛玻璃面板与自然元素融合,营造清新通透的数字自然感。
## 核心理念
Frutiger Aero draws inspiration from the Windows Vista/7 Aero glass aesthetic -- sky-blue gradients, frosted glass panels, water droplets, and a feeling of floating in clean air.
Core principles:
- Translucency: Semi-transparent white panels over bright sky gradients
- Nature meets technology: Organic shapes, bubbles, and leaves blended with digital UI
- Light and airy: Generous whitespace, soft shadows, rounded corners everywhere
- Glossy reflections: Subtle gradient highlights that simulate light on glass surfaces
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border
颜色: border-white/40
圆角: rounded-3xl
```
### 阴影
```
小: shadow-md
中: shadow-lg
大: shadow-2xl
悬停: hover:shadow-xl
聚焦: focus:shadow-lg
```
### 交互效果
```
悬停位移: undefined
过渡动画: transition-all duration-300 ease-out
按下状态: active:scale-[0.98]
```
### 字体
```
标题: font-sans font-bold text-white drop-shadow-lg
正文: font-sans text-white/80
```
### 字号
```
Hero: text-4xl md:text-6xl
H1: text-3xl md:text-5xl
H2: text-2xl md:text-3xl
H3: text-xl md:text-2xl
正文: text-sm md:text-base
小字: text-xs
```
### 间距
```
Section: py-16 md:py-24
容器: px-6 md:px-8
卡片: p-6 md:p-8
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `bg-black`
- `bg-gray-900`
- `bg-gray-950`
- `bg-slate-900`
- `rounded-none`
- `rounded-sm`
- `font-mono`
- `border-black`
- `border-gray-900`
- `backdrop-blur-sm`
### 禁止的模式
- 匹配 `^bg-(black|gray-9|slate-9)`
- 匹配 `^rounded-(none|sm)$`
- 匹配 `^font-mono$`
- 匹配 `^border-(black|gray-9)`
### 禁止原因
- `bg-black`: Frutiger Aero uses light sky-blue backgrounds, not dark themes
- `bg-gray-900`: Frutiger Aero uses light sky-blue backgrounds, not dark themes
- `bg-gray-950`: Frutiger Aero uses light sky-blue backgrounds, not dark themes
- `bg-slate-900`: Frutiger Aero uses light sky-blue backgrounds, not dark themes
- `rounded-none`: Frutiger Aero requires large rounded corners (rounded-2xl or rounded-3xl)
- `rounded-sm`: Frutiger Aero requires large rounded corners (rounded-2xl or rounded-3xl)
- `font-mono`: Frutiger Aero uses clean sans-serif typography only
- `border-black`: Frutiger Aero uses subtle white borders (border-white/30 to border-white/50)
- `border-gray-900`: Frutiger Aero uses subtle white borders (border-white/30 to border-white/50)
- `backdrop-blur-sm`: Frutiger Aero requires strong blur (backdrop-blur-xl or higher)
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
bg-gradient-to-b from-white/90 to-white/60
backdrop-blur-md
border border-white/50
rounded-full
text-sky-700
shadow-lg
hover:shadow-xl
transition-all duration-300
```
### 卡片必须包含
```
bg-white/40 backdrop-blur-xl
border border-white/50
rounded-3xl
shadow-xl
```
### 输入框必须包含
```
bg-white/30 backdrop-blur-md
border border-white/40
rounded-2xl
text-sky-900 placeholder:text-sky-400/50
focus:outline-none focus:border-white/70 focus:bg-white/40
transition-all
```
---
## [COMPARE] 错误 vs 正确对比
### 按钮
[WRONG] **错误示例**(使用了圆角和模糊阴影):
```html
<button class="rounded-lg shadow-lg bg-blue-500 text-white px-4 py-2 hover:bg-blue-600">
点击我
</button>
```
[CORRECT] **正确示例**(使用硬边缘、无圆角、位移效果):
```html
<button class="bg-gradient-to-b from-white/90 to-white/60 backdrop-blur-md border border-white/50 rounded-full text-sky-700 shadow-lg hover:shadow-xl transition-all duration-300 bg-[#ff006e] text-white px-4 py-2 md:px-6 md:py-3">
点击我
</button>
```
### 卡片
[WRONG] **错误示例**(使用了渐变和圆角):
```html
<div class="rounded-xl shadow-2xl bg-gradient-to-r from-purple-500 to-pink-500 p-6">
<h3 class="text-xl font-semibold">标题</h3>
</div>
```
[CORRECT] **正确示例**(纯色背景、硬边缘阴影):
```html
<div class="bg-white/40 backdrop-blur-xl border border-white/50 rounded-3xl shadow-xl p-6 md:p-8">
<h3 class="font-sans font-bold text-white drop-shadow-lg text-xl md:text-2xl">标题</h3>
</div>
```
### 输入框
[WRONG] **错误示例**(灰色边框、圆角):
```html
<input class="rounded-md border border-gray-300 px-3 py-2 focus:ring-2 focus:ring-blue-500" />
```
[CORRECT] **正确示例**(黑色粗边框、聚焦阴影):
```html
<input class="bg-white/30 backdrop-blur-md border border-white/40 rounded-2xl text-sky-900 placeholder:text-sky-400/50 focus:outline-none focus:border-white/70 focus:bg-white/40 transition-all px-3 py-2 md:px-4 md:py-3" placeholder="请输入..." />
```
---
## [TEMPLATES] 页面骨架模板
使用以下模板生成页面,只需替换 `{PLACEHOLDER}` 部分:
### 导航栏骨架
```html
<nav class="bg-white border-b-2 md:border-b-4 border-black px-4 md:px-8 py-3 md:py-4">
<div class="flex items-center justify-between max-w-6xl mx-auto">
<a href="/" class="font-black text-xl md:text-2xl tracking-wider">
{LOGO_TEXT}
</a>
<div class="flex gap-4 md:gap-8 font-mono text-sm md:text-base">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero 区块骨架
```html
<section class="min-h-[60vh] md:min-h-[80vh] flex items-center px-4 md:px-8 py-12 md:py-0 bg-{ACCENT_COLOR} border-b-2 md:border-b-4 border-black">
<div class="max-w-4xl mx-auto">
<h1 class="font-black text-4xl md:text-6xl lg:text-8xl leading-tight tracking-tight mb-4 md:mb-6">
{HEADLINE}
</h1>
<p class="font-mono text-base md:text-xl max-w-xl mb-6 md:mb-8">
{SUBHEADLINE}
</p>
<button class="bg-black text-white font-black px-6 py-3 md:px-8 md:py-4 border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm md:text-base">
{CTA_TEXT}
</button>
</div>
</section>
```
### 卡片网格骨架
```html
<section class="py-12 md:py-24 px-4 md:px-8">
<div class="max-w-6xl mx-auto">
<h2 class="font-black text-2xl md:text-4xl mb-8 md:mb-12">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6">
<!-- Card template - repeat for each card -->
<div class="bg-white border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] md:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] p-4 md:p-6 hover:shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:hover:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:-translate-y-1 transition-all">
<h3 class="font-black text-lg md:text-xl mb-2">{CARD_TITLE}</h3>
<p class="font-mono text-sm md:text-base text-gray-700">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### 页脚骨架
```html
<footer class="bg-black text-white py-12 md:py-16 px-4 md:px-8 border-t-2 md:border-t-4 border-black">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div>
<span class="font-black text-xl md:text-2xl">{LOGO_TEXT}</span>
<p class="font-mono text-sm mt-4 text-gray-400">{TAGLINE}</p>
</div>
<div>
<h4 class="font-black text-lg mb-4">{COLUMN_TITLE}</h4>
<ul class="space-y-2 font-mono text-sm text-gray-400">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] 生成后自检清单
**在输出代码前,必须逐项验证以下每一条。如有违反,立即修正后再输出:**
### 1. 圆角检查
- [ ] 搜索代码中的 `rounded-`
- [ ] 确认只有 `rounded-none` 或无圆角
- [ ] 如果发现 `rounded-lg`、`rounded-md` 等,替换为 `rounded-none`
### 2. 阴影检查
- [ ] 搜索代码中的 `shadow-`
- [ ] 确认只使用 `shadow-[Xpx_Xpx_0px_0px_rgba(...)]` 格式
- [ ] 如果发现 `shadow-lg`、`shadow-xl` 等,替换为正确格式
### 3. 边框检查
- [ ] 搜索代码中的 `border-`
- [ ] 确认边框颜色是 `border-black`
- [ ] 如果发现 `border-gray-*`、`border-slate-*`,替换为 `border-black`
### 4. 交互检查
- [ ] 所有按钮都有 `hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px]`
- [ ] 所有卡片都有 hover 效果(阴影变色或位移)
- [ ] 都包含 `transition-all`
### 5. 响应式检查
- [ ] 边框有 `border-2 md:border-4`
- [ ] 阴影有 `shadow-[4px...] md:shadow-[8px...]`
- [ ] 间距有 `p-4 md:p-6` 或类似的响应式值
- [ ] 字号有 `text-sm md:text-base` 或类似的响应式值
### 6. 字体检查
- [ ] 标题使用 `font-black`
- [ ] 正文使用 `font-mono`
> CRITICAL: **如果任何一项检查不通过,必须修正后重新生成代码。**
---
## [EXAMPLES] 示例 Prompt
### 1. Weather Dashboard
Aero glass weather panels on sky background
```
Create a weather dashboard in Frutiger Aero style:
1. Background: Full sky-blue gradient (from-sky-300 to-sky-500)
2. Main card: Current temperature with glass panel, large numbers
3. Hourly forecast: Horizontal scroll with small glass cards
4. Weekly forecast: List with glass rows
5. Decorative floating bubbles in the background
```
### 2. Music Player
Vista-style translucent music controls
```
Create a music player in Frutiger Aero style:
1. Background: Sky gradient with floating bubbles
2. Album card: Glass panel with cover art
3. Controls: Translucent play/pause buttons with glass effect
4. Progress bar: Glass track with glossy slider
5. Playlist: Side panel with glass rows
```
### 3. Product Showcase
Floating glass product cards on blue sky
```
Create a product showcase in Frutiger Aero style:
1. Background: Sky gradient with cloud-like decorations
2. Hero: Large title with glass overlay
3. Product grid: 3-column glass cards with hover float effect
4. Each card: Product image, name, price on translucent panel
5. CTA buttons: Glossy white glass with rounded-full
```软性提示词
保留风格方向,允许实现灵活
STYLEKIT_STYLE_REFERENCE
style_name: Frutiger Aero
style_slug: frutiger-aero
style_source: /styles/frutiger-aero
# Soft Prompt
保持整体风格气质即可,允许实现细节灵活调整,但不要偏离核心视觉语言。
## Style Signals
- aero glass
- translucent
- sky blue
- glossy
- Vista
- Y2K
## Prefer
- Use sky blue gradient backgrounds (from-sky-300 to-sky-500)
- Apply backdrop-blur and translucent white panels (bg-white/30 to bg-white/50)
- Use large rounded corners (rounded-2xl to rounded-3xl)
- Add glossy top-half highlight div (absolute, bg-gradient-to-b from-white/60 to-white/10, h-1/2) on buttons and cards
## Avoid
- Don't use dark or black backgrounds
- Don't use sharp corners or angular shapes
- Don't use neon or harsh colors
## Output Guidance
- 先保证整体风格识别度,再优化细节。
- 避免过度炫技,保持可读性与可维护性。设计哲学
Frutiger Aero draws inspiration from the Windows Vista/7 Aero glass aesthetic -- sky-blue gradients, frosted glass panels, water droplets, and a feeling of floating in clean air.
Core principles: - Translucency: Semi-transparent white panels over bright sky gradients - Nature meets technology: Organic shapes, bubbles, and leaves blended with digital UI - Light and airy: Generous whitespace, soft shadows, rounded corners everywhere - Glossy reflections: Subtle gradient highlights that simulate light on glass surfaces
必须做 / Do's
- +Use sky blue gradient backgrounds (from-sky-300 to-sky-500)
- +Apply backdrop-blur and translucent white panels (bg-white/30 to bg-white/50)
- +Use large rounded corners (rounded-2xl to rounded-3xl)
- +Add glossy top-half highlight div (absolute, bg-gradient-to-b from-white/60 to-white/10, h-1/2) on buttons and cards
- +Include nature-inspired decorative elements (bubbles, leaves, water) as absolute positioned blur divs
- +Use clean sans-serif typography
- +Aurora orbs on cards: two absolute blur-3xl divs (green + sky-blue) that group-hover:scale-150
- +Buttons use active:scale-95 for bouncy jelly press physics
- +Luminous glow on button hover: hover:shadow-[0_8px_20px_rgba(2,132,199,0.6)]
- +focus:ring-2 focus:ring-sky-300 focus:ring-offset-2 focus:ring-offset-sky-500 for all focusable elements
禁止做 / Don'ts
- -Don't use dark or black backgrounds
- -Don't use sharp corners or angular shapes
- -Don't use neon or harsh colors
- -Don't use monospace fonts
- -Don't use flat/matte surfaces without any glass effect
- -Don't use active:scale-[0.98] — use active:scale-95 for the jelly bounce physics
- -Don't use focus:ring without focus:ring-offset-sky-500 (focus ring invisible on sky blue background)
组件模板
组件预览
Button
Aero glossy capsule button: top-half white overlay simulates glass reflection, luminous sky-blue glow on hover, active:scale-95 jelly bounce press, focus ring offset matches sky background
{/* Primary Aero Glossy Button */}
<button className="
group relative
px-8 py-3
bg-gradient-to-b from-sky-400 to-sky-600
border border-sky-300/50
rounded-full
text-white font-bold text-sm
shadow-[0_4px_10px_rgba(2,132,199,0.4),inset_0_-3px_5px_rgba(0,0,0,0.2),inset_0_1px_1px_rgba(255,255,255,0.3)]
hover:shadow-[0_8px_20px_rgba(2,132,199,0.6),0_0_30px_rgba(125,211,252,0.3),inset_0_-3px_5px_rgba(0,0,0,0.2)]
hover:-translate-y-0.5
focus:outline-none focus:ring-2 focus:ring-sky-300 focus:ring-offset-2 focus:ring-offset-sky-500
active:scale-95 active:translate-y-0
active:shadow-[0_2px_5px_rgba(2,132,199,0.3),inset_0_2px_4px_rgba(0,0,0,0.3)]
transition-all duration-200 ease-out
overflow-hidden
">
{/* Glossy top-half highlight — brightens on group-hover */}
<div className="
absolute top-0 left-0 right-0 h-1/2
bg-gradient-to-b from-white/60 to-white/10
rounded-t-full
group-hover:from-white/80 group-hover:to-white/20
transition-colors duration-200
pointer-events-none
" />
<span className="relative z-10 drop-shadow-sm">Glossy Button</span>
</button>
{/* Secondary Aero Glass Button */}
<button className="
group relative
px-8 py-3
bg-gradient-to-b from-white/80 to-white/50
backdrop-blur-md border border-white/60
rounded-full
text-sky-700 font-bold text-sm
shadow-[0_4px_10px_rgba(255,255,255,0.4),inset_0_1px_1px_rgba(255,255,255,0.8)]
hover:shadow-[0_8px_20px_rgba(255,255,255,0.5)] hover:-translate-y-0.5
focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-sky-500
active:scale-95 active:translate-y-0
transition-all duration-200 ease-out
overflow-hidden
">
<div className="
absolute top-0 left-0 right-0 h-1/2
bg-gradient-to-b from-white/70 to-white/20
rounded-t-full
group-hover:from-white/90 group-hover:to-white/30
transition-colors duration-200
pointer-events-none
" />
<span className="relative z-10">Glass Button</span>
</button>全局样式
全局 CSS
/* Frutiger Aero Global Styles */
:root {
--aero-sky-light: #87CEEB;
--aero-sky-dark: #5FB3CC;
--aero-glass-bg: rgba(255, 255, 255, 0.3);
--aero-glass-border: rgba(255, 255, 255, 0.4);
}
@keyframes aero-float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
@keyframes aero-bubble {
0% { transform: translateY(100%) scale(0.5); opacity: 0; }
50% { opacity: 0.6; }
100% { transform: translateY(-100vh) scale(1); opacity: 0; }
}
@keyframes aero-shimmer {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
.aero-glass {
background: var(--aero-glass-bg);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid var(--aero-glass-border);
}无障碍
无障碍评分
基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。
综合评分
等级: C - 一般
对比度
可读性
分数
90/100
字号
text-sm md:text-base
字重
font-sans font-bold text-white drop-shadow-lg
行高
default
评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。
IDE 集成
IDE 配置导出
下载 AI 编码助手的配置文件,使其按照此风格生成代码。
风格包
导出风格包
获取完整的可机器读取风格资源,包括 Design Tokens、Tailwind 预设、CSS 变量和 shadcn/ui 主题。
Metadata
Style metadata including version information
Design Tokens
Figma / Style Dictionary / Tokens Studio 兼容
Tailwind Preset
Tailwind CSS 主题预设,可直接在配置中引用
Global CSS
包含 CSS 变量和基础样式
shadcn Theme
shadcn/ui 主题配置
CSS Variables
纯 CSS 变量,适用于任何项目
SKILL.md
可加载到 Cursor / Claude Code / VS Code 的技能包