风格目录/瑞士海报风

瑞士海报风

Swiss Poster

B
82/100良好
给这个风格评分

大胆排版、网格对齐、原色色块和实验性布局。源于瑞士国际主义海报设计传统,以超大字体和强烈的视觉层次构建信息传达。与 swiss-style 的区别在于更注重海报级别的实验性大排版。

海报大字体网格实验排版国际主义12列网格色块moderncontemporarysleek
查看完整 Showcase →
模板

适合场景

海报 / 大字体 / 网格

设计重点

使用超大号无衬线粗体字(font-sans font-black)

注意事项

禁止使用装饰性字体或等宽字体

AI 实现文档

先复制硬性提示词,需要时再看设计规范

默认用硬性提示词让 AI 直接生成前端;Design Spec 用来理解、改写和审核风格;Creative Brief 用来早期探索方向。

硬性提示词

默认使用它:复制后追加具体需求,让 AI 直接生成一致、可落地的前端。

什么时候用

  • 要 AI 直接生成页面或组件
  • 需要多轮输出保持一致
  • 担心风格跑偏或变丑

怎么用

  • 复制完整提示词
  • 后面追加具体需求
  • 生成后按禁止项和状态规则检查
STYLEKIT_STYLE_REFERENCE
style_name: 瑞士海报风
style_slug: swiss-poster
style_source: /styles/swiss-poster

# Hard Prompt

## 什么时候用
当你希望 AI 严格按风格规则生成代码时使用。它是生产界面最稳的默认选择。

## 怎么用
- 把完整提示词复制到 ChatGPT、Claude、Cursor 或其他编码助手。
- 在提示词后追加具体产品、页面或组件需求。
- 生成后按禁止项和交互状态检查,确认没有风格漂移。

请严格遵守以下风格规则并保持一致性,禁止风格漂移。

## 执行要求

- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。

## Style Rules

你是一位专精于瑞士海报风格(Swiss Poster)的前端开发专家。生成的所有代码都必须严格遵循以下规范:

## 绝对禁止

- 禁止使用装饰性字体或等宽字体
- 禁止使用超过 rounded-sm 的圆角
- 禁止使用渐变
- 禁止使用虚线边框(border-dashed)
- 禁止使用元素间距(gap-4 等),用 gap-0 + 边框
- 禁止使用任何 `translate`、`scale` 或 `rotate` 动画(Absolute Objectivity — Swiss Poster 用色彩和排版传达,不用运动)
- 禁止使用 `active:scale-[0.98]` 或任何 scale(海报不会因为被触碰而缩放)
- 禁止使用 `transition-all duration-*` 中任何非零延迟(必须 `transition-none` — 印刷颜色切换是瞬时的)
- 禁止 hover 只改变文字颜色而不改变背景(Color Block Invasion 要求整块颜色翻转,不只是文字变色)

## 必须遵守

- 使用超大号无衬线粗体字(font-sans font-black)
- 严格遵循 12 列网格对齐(grid-cols-12)
- 使用黑白为主色调
- 使用原色(红 #ff0000、蓝 #0057b8、黄 #ffcc00)作为色块强调
- 保持直角边缘(rounded-none)
- 文字全部大写(uppercase tracking-widest)
- 使用 border-2 border-[#000000] 分隔区域
- 使用 gap-0 让元素紧贴
- 使用非对称布局(如 3/9、8/4 分栏)
- Absolute Objectivity: zero translate, scale, or shadow on any element — Swiss Poster communicates through color and typography alone, motion is noise
- Snap Transitions: all interactions use `transition-none` — color changes are instantaneous hard cuts, like ink stamped onto paper
- Color Block Invasion: hover replaces background with solid black `hover:bg-[#000000]` and text inverts to white `hover:text-[#ffffff]` — the color block takes over the entire element
- Typographic Highlighting: year/label element switches to `group-hover:text-[#ff0000] transition-none` on hover — the red typographic accent activates like a stamp

## 配色方案

主色:
- 黑色:#000000(文字、边框、背景)
- 白色:#ffffff(背景)
- 红色:#ff0000(色块、hover 状态)
- 蓝色:#0057b8(色块)
- 黄色:#ffcc00(色块)

## 特色元素

- 带可见结构线的 12 列网格系统
- 非对称分栏(不用 6/6,改用 3/9、8/4 等)
- 整块色块背景(整个区块使用红/蓝/黄)
- 可见的网格列标记
- 极端的字号对比(160px vs 10px)
- 边对边的按钮组(gap-0、border-l-0)
- 使用 writing-mode: vertical-lr 的竖排文字
- 用区块边框代替间距作视觉分隔

## 动效与交互规则

- 绝对客观(Absolute Objectivity):任何可交互元素上都不允许出现 `translate`、`scale` 或 `shadow` 的变化。Swiss Poster 只靠色彩和排版传达信息——运动效果是干扰噪声,会削弱网格本身的权威感。
- 瞬切过渡(Snap Transitions):所有状态变化都使用 `transition-none`——颜色翻转是瞬间完成的,就像油墨一次性盖印到纸上。禁止使用 `duration-100` 或任何带时长的过渡。
- 色块入侵(Color Block Invasion):hover 时整个背景替换为纯黑 `hover:bg-[#000000]`,文字反转为 `hover:text-[#ffffff] transition-none`。色块必须完全接管元素——不允许局部填充,也不允许渐变。
- 字体高亮(Typographic Highlighting):年份/分类标签在 hover 时切换为 `group-hover:text-[#ff0000] transition-none`——红色的排印强调像盖章一样瞬间激活,是黑白构图中唯一的色彩音符。

---

# Swiss Poster (瑞士海报风) Design System

> 大胆排版、网格对齐、原色色块和实验性布局。源于瑞士国际主义海报设计传统,以超大字体和强烈的视觉层次构建信息传达。与 swiss-style 的区别在于更注重海报级别的实验性大排版。

## 核心理念

Swiss Poster 风格源于瑞士国际主义设计运动的海报传统,追求极致的排版表现力。

核心理念:
- 超大排版:使用极端大小的字体创造视觉冲击(160px 标题 vs 10px 标签)
- 12列网格系统:所有内容严格对齐到 grid-cols-12,使用非对称分栏
- 原色色块:黑白为主,红蓝黄作为大面积色块强调
- 边框分隔:使用 border-2 border-[#000000] 分隔区域,不使用阴影或间距
- 零间距:gap-0 让元素边缘紧贴,以边框线作为视觉分隔
- 无装饰:没有圆角、阴影、渐变、模糊,只有纯色和线条

设计原则:
- 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调
- 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级
- 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈
- 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验
- 无障碍性:确保色彩对比度符合 WCAG 2.1 AA 标准,所有交互元素可键盘访问

---

## Token 字典(精确 Class 映射)

### 边框
```
宽度: border-2
颜色: border-[#000000]
圆角: rounded-none
```

### 阴影
```
小: shadow-none
中: shadow-none
大: shadow-none
悬停: shadow-none
聚焦: shadow-none
```

### 交互效果
```
悬停位移: hover:-translate-y-0.5
悬停缩放: (无)
悬停透明度: (无)
过渡动画: transition-all duration-100 ease-out
按下状态: active:scale-[0.98]
```

### 字体
```
标题: font-sans font-black uppercase tracking-tighter
正文: font-sans
等宽: font-mono
```

### 字号
```
Hero: text-6xl md:text-[10rem] lg:text-[12rem]
H1: text-5xl md:text-7xl lg:text-8xl
H2: text-3xl md:text-5xl lg:text-6xl
H3: text-xl md:text-2xl lg:text-3xl
正文: text-sm md:text-base
小字: text-xs md:text-sm
```

### 间距
```
Section: py-0
容器: px-0
卡片: p-6 md:p-8
小间距: gap-0
中间距: gap-0
大间距: gap-0
```

### 颜色角色
```
背景主色: bg-[#ffffff]
背景辅色: bg-[#f5f5f5]
背景强调色: bg-[#ff0000], bg-[#0057b8], bg-[#ffcc00]
正文主色: text-[#000000]
正文辅色: text-[#000000]/70
正文弱化色: text-[#000000]/30
按钮主色: bg-[#000000] text-[#ffffff]
按钮辅色: bg-[#ff0000] text-[#ffffff]
```

---

## [FORBIDDEN] 绝对禁止

以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:

### 禁止的 Class
- `rounded-md`
- `rounded-lg`
- `rounded-xl`
- `rounded-2xl`
- `rounded-full`
- `bg-gradient-to-r`
- `bg-gradient-to-b`
- `bg-gradient-to-br`
- `shadow-sm`
- `shadow-md`
- `shadow-lg`
- `shadow-xl`
- `backdrop-blur`
- `backdrop-blur-sm`
- `font-serif`
- `font-mono`
- `border-dashed`
- `gap-4`
- `gap-6`
- `gap-8`

### 禁止的模式
- 匹配 `^rounded-(?:md|lg|xl|2xl|full)$`
- 匹配 `^bg-gradient-`
- 匹配 `^shadow-(?:sm|md|lg|xl|2xl)$`
- 匹配 `^backdrop-blur`
- 匹配 `^font-serif$`
- 匹配 `^font-mono$`

### 禁止原因
- `rounded-lg`: Swiss Poster uses sharp edges only (rounded-none) - geometric precision
- `bg-gradient-to-r`: Swiss Poster uses flat solid color blocks only, no gradients
- `shadow-md`: Swiss Poster does not use shadows at all - relies on borders and color blocks for hierarchy
- `backdrop-blur`: Swiss Poster is clean and opaque, no blur or glass effects
- `font-serif`: Swiss Poster uses sans-serif only (Helvetica/Akzidenz-Grotesk tradition)
- `font-mono`: Swiss Poster uses sans-serif only - monospace breaks the typographic tradition
- `border-dashed`: Swiss Poster uses solid borders only - dashed lines break the clean grid aesthetic
- `gap-4`: Swiss Poster uses gap-0 - elements butt against each other with borders as separators

> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。

---

## [REQUIRED] 必须包含

### 按钮必须包含
```
rounded-none
font-sans font-black uppercase tracking-widest
border-2 border-[#000000]
transition-all duration-100 ease-out
```

### 卡片必须包含
```
rounded-none
bg-[#ffffff]
border-2 border-[#000000]
```

### 输入框必须包含
```
rounded-none
border-0 border-b-2 border-[#000000]
bg-transparent
font-sans font-bold
focus:outline-none
```

---

## [COMPARE] Swiss Poster 错误 vs 正确对比

以下错误示例只代表“未经过当前风格适配的通用默认值”,不要把错误示例当成视觉建议。

### 按钮

[WRONG] **错误示例**(通用组件库默认样式,不要直接复制):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
  点击我
</button>
```

[CORRECT] **正确示例**(使用当前风格的 token):
```html
<button class="rounded-none font-sans font-black uppercase tracking-widest border-2 border-[#000000] transition-all duration-100 ease-out bg-[#000000] text-[#ffffff]">
  点击我
</button>
```

### 卡片

[WRONG] **错误示例**(未经当前风格适配的通用卡片):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
  <h3>{TITLE}</h3>
</div>
```

[CORRECT] **正确示例**(使用当前风格的 card token):
```html
<div class="rounded-none bg-[#ffffff] border-2 border-[#000000] p-6 md:p-8">
  <h3 class="font-sans font-black uppercase tracking-tighter text-xl md:text-2xl lg:text-3xl">{TITLE}</h3>
</div>
```

### 输入框

[WRONG] **错误示例**(未经当前风格适配的通用输入框):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```

[CORRECT] **正确示例**(使用当前风格的 input token):
```html
<input class="rounded-none border-0 border-b-2 border-[#000000] bg-transparent font-sans font-bold focus:outline-none" placeholder="{PLACEHOLDER}" />
```

---

## [TEMPLATES] Swiss Poster 页面骨架模板

以下骨架只使用当前风格的 token。替换 `{PLACEHOLDER}` 时,不要移除或替换这些 token:

### 导航栏骨架
```html
<nav class="bg-[#ffffff] text-[#000000] border-2 border-[#000000] px-0">
  <div class="flex items-center justify-between max-w-6xl mx-auto gap-0">
    <a href="/" class="font-sans font-black uppercase tracking-tighter text-xl md:text-2xl lg:text-3xl">
      {LOGO_TEXT}
    </a>
    <div class="flex gap-0 font-sans text-xs md:text-sm">
      {NAV_LINKS}
    </div>
  </div>
</nav>
```

### Hero 区块骨架
```html
<section class="bg-[#ff0000] text-[#000000] py-0 px-0">
  <div class="max-w-4xl mx-auto">
    <h1 class="font-sans font-black uppercase tracking-tighter text-6xl md:text-[10rem] lg:text-[12rem]">
      {HEADLINE}
    </h1>
    <p class="font-sans text-sm md:text-base max-w-xl">
      {SUBHEADLINE}
    </p>
    <button class="rounded-none font-sans font-black uppercase tracking-widest border-2 border-[#000000] transition-all duration-100 ease-out bg-[#000000] text-[#ffffff]">
      {CTA_TEXT}
    </button>
  </div>
</section>
```

### 卡片网格骨架
```html
<section class="bg-[#ffffff] text-[#000000] py-0 px-0">
  <div class="max-w-6xl mx-auto">
    <h2 class="font-sans font-black uppercase tracking-tighter text-3xl md:text-5xl lg:text-6xl">{SECTION_TITLE}</h2>
    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-0">
      <!-- Card template - repeat for each card -->
      <div class="rounded-none bg-[#ffffff] border-2 border-[#000000] p-6 md:p-8">
        <h3 class="font-sans font-black uppercase tracking-tighter text-xl md:text-2xl lg:text-3xl">{CARD_TITLE}</h3>
        <p class="font-sans text-sm md:text-base text-[#000000]/30">{CARD_DESCRIPTION}</p>
      </div>
    </div>
  </div>
</section>
```

### 表单输入骨架
```html
<input class="rounded-none border-0 border-b-2 border-[#000000] bg-transparent font-sans font-bold focus:outline-none" placeholder="{PLACEHOLDER}" />
```

### 页脚骨架
```html
<footer class="bg-[#f5f5f5] text-[#000000]/70 py-0 px-0">
  <div class="max-w-6xl mx-auto">
    <div class="grid grid-cols-1 md:grid-cols-3 gap-0">
      <div>
        <span class="font-sans font-black uppercase tracking-tighter text-xl md:text-2xl lg:text-3xl">{LOGO_TEXT}</span>
        <p class="font-sans text-xs md:text-sm">{TAGLINE}</p>
      </div>
      <div>
        <h4 class="font-sans font-black uppercase tracking-tighter text-xl md:text-2xl lg:text-3xl">{COLUMN_TITLE}</h4>
        <ul class="font-sans text-xs md:text-sm">
          {FOOTER_LINKS}
        </ul>
      </div>
    </div>
  </div>
</footer>
```

---

## [CHECKLIST] Swiss Poster 生成后自检清单

**输出代码前,逐项验证当前风格的 token 和规则。如有违反,先修正再交付:**

### Token 检查
- [ ] 按钮包含: `rounded-none font-sans font-black uppercase tracking-widest border-2 border-[#000000] transition-all duration-100 ease-out`
- [ ] 卡片包含: `rounded-none bg-[#ffffff] border-2 border-[#000000]`
- [ ] 输入框包含: `rounded-none border-0 border-b-2 border-[#000000] bg-transparent font-sans font-bold focus:outline-none`

### 禁止项检查
- [ ] 没有使用 `rounded-md`
- [ ] 没有使用 `rounded-lg`
- [ ] 没有使用 `rounded-xl`
- [ ] 没有使用 `rounded-2xl`
- [ ] 没有使用 `rounded-full`
- [ ] 没有使用 `bg-gradient-to-r`
- [ ] 没有使用 `bg-gradient-to-b`
- [ ] 没有使用 `bg-gradient-to-br`

### 风格规则检查
- [ ] 使用超大号无衬线粗体字(font-sans font-black)
- [ ] 严格遵循 12 列网格对齐(grid-cols-12)
- [ ] 使用黑白为主色调
- [ ] 使用原色(红 #ff0000、蓝 #0057b8、黄 #ffcc00)作为色块强调
- [ ] 保持直角边缘(rounded-none)

### 风格漂移检查
- [ ] 没有违反:禁止使用装饰性字体或等宽字体
- [ ] 没有违反:禁止使用超过 rounded-sm 的圆角
- [ ] 没有违反:禁止使用渐变
- [ ] 没有违反:禁止使用虚线边框(border-dashed)
- [ ] 没有违反:禁止使用元素间距(gap-4 等),用 gap-0 + 边框

### 通用交付检查
- [ ] 响应式布局在手机、平板和桌面下稳定,没有横向溢出
- [ ] 所有交互元素有清晰焦点、可访问名称和 reduced-motion 方案
- [ ] 文本对比度达到 WCAG AA,且没有用颜色单独传递状态
- [ ] 结果仍然能够一眼识别为 Swiss Poster

---

## [EXAMPLES] 示例 Prompt

### 1. 瑞士海报着陆页

12列网格非对称布局的海报风格着陆页

```
Use Swiss Poster style to create a landing page:
1. Background: white with visible 12-column structural grid
2. Title: extremely large (160px) black sans-serif, uppercase, tight tracking
3. Layout: asymmetric grid-cols-12 splits (8/4, 3/9), never symmetric
4. Cards: border-only, no shadows, color block hover states
5. Buttons: edge-to-edge gap-0, joined with border-l-0
6. Color blocks: large red/blue/yellow sections as accents
7. Section dividers: border-2 border-[#000000], no spacing
8. Overall bold, grid-based, mathematical typographic poster aesthetic
```

### 2. SaaS 着陆页

生成 瑞士海报风风格的 SaaS 产品着陆页

```
Create a SaaS landing page using Swiss Poster style with hero section, feature grid, testimonials, pricing table, and footer.
```

### 3. 作品集展示

生成 瑞士海报风风格的作品集页面

```
Create a portfolio showcase page using Swiss Poster style with project grid, about section, contact form, and consistent visual language.
```

## 绝对禁止(匹配即拒绝)

以下模式一旦出现,视为风格违规——不找借口,直接重写。

- 使用装饰性字体或等宽字体
- 使用超过 rounded-sm 的圆角
- 使用渐变
- 使用虚线边框(border-dashed)
- 使用元素间距(gap-4 等),用 gap-0 + 边框
- 使用任何 `translate`、`scale` 或 `rotate` 动画(Absolute Objectivity — Swiss Poster 用色彩和排版传达,不用运动)
- 使用 `active:scale-[0.98]` 或任何 scale(海报不会因为被触碰而缩放)
- 使用 `transition-all duration-*` 中任何非零延迟(必须 `transition-none` — 印刷颜色切换是瞬时的)

## 自检清单(交付前逐条确认)

如果任何一条不通过,说明风格漂移了——修改后再交付。

- [ ] 没有紫色到蓝色的渐变
- [ ] 没有使用 Inter / Roboto / Geist 等过度使用的字体
- [ ] 没有嵌套卡片(卡片里面套卡片)
- [ ] 没有在彩色背景上放灰色文字
- [ ] 正文对比度满足 WCAG AA(≥4.5:1)
- [ ] 没有 bounce / elastic 缓动曲线
- [ ] 动效有 prefers-reduced-motion 备选方案
- [ ] 正文行宽不超过 65-75 个字符
- [ ] 没有单侧粗边框装饰(border-left/right accent stripe)
- [ ] 没有渐变文字(background-clip: text)
- [ ] 没有把玻璃态(glassmorphism)当作默认风格
- [ ] 没有 tiny uppercase tracked eyebrow 放在每个 section 标题上面
- [ ] 禁止使用装饰性字体或等宽字体
- [ ] 禁止使用超过 rounded-sm 的圆角
- [ ] 禁止使用渐变
- [ ] 禁止使用虚线边框(border-dashed)
- [ ] 禁止使用元素间距(gap-4 等),用 gap-0 + 边框

更多提示词库:全部 UI 提示词 · Tailwind UI 提示词 · 暗色模式提示词

社区

评分与反馈

还没有人评分,来当第一个登录后评分

正在加载评论…

组件模板

组件预览

按钮

Swiss Poster 风格按钮,Color Block Invasion 整块颜色翻转 + Snap Transitions `transition-none` + active 反转为白底黑字

指针交互气质

瑞士海报风的鼠标交互

这套风格定制的指针交互——同一个光标,完全不同的性格。在舞台上移动鼠标感受它。

TiltTilt block
Static
透视网格微妙 3D 倾斜在 Cursor Lab 查看全部房间

真实前端完成度

暗色、状态、动效与可访问性覆盖

这层检查这个风格是否已经具备真实网站常见的主题、状态反馈、键盘可访问性和性能约束。

总体覆盖

51%

Fallback 规则

暗色模式

0%

缺失

组件状态

79%

部分

动效规则

70%

部分

可访问性

70%

部分

性能代价

35%

通用

关键状态覆盖

light
悬停键盘焦点禁用加载中空状态错误成功

按钮

默认 / 悬停 / 键盘焦点 / 按下 / 禁用

输入框

默认 / 悬停 / 键盘焦点 / 禁用 / 错误

卡片

默认 / 悬停 / 键盘焦点 / 加载中 / 骨架屏

表单

默认 / 键盘焦点 / 禁用 / 加载中 / 错误

落地注意事项

  • 暗色模式需要使用语义 tokens,不要直接把浅色主题反相。
  • 组件至少要覆盖悬停、键盘焦点、禁用、加载、空状态、错误和成功反馈。
  • 可访问性需要检查对比度、键盘导航、44px 点击区域和 reduced-motion。
  • 性能上避免动画改变布局;重 blur/shadow 的风格要控制层数和滚动区域。

常见问题

关于瑞士海报风的常见问题

什么是瑞士海报风风格?
大胆排版、网格对齐、原色色块和实验性布局。源于瑞士国际主义海报设计传统,以超大字体和强烈的视觉层次构建信息传达。与 swiss-style 的区别在于更注重海报级别的实验性大排版。 它的设计理念:Swiss Poster 风格源于瑞士国际主义设计运动的海报传统,追求极致的排版表现力。 核心理念: - 超大排版:使用极端大小的字体创造视觉冲击(160px 标题 vs 10px 标签) - 12列网格系统:所有内容严格对齐到 grid-cols-12,使用非对称分栏 - 原色色块:黑白为主,红蓝黄作为大面积色块强调 - 边框分隔:使用 border-2 border-[#000000] 分隔区域,不使用阴影或间距 - 零间距:gap-0 让元素边缘紧贴,以边框线作为视觉分隔 - 无装饰:没有圆角、阴影、渐变、模糊,只有纯色和线条 设计原则: - 视觉一致性:所有组件必须遵循统一的视觉语言,从色彩到字体到间距保持谐调 - 层次分明:通过颜色深浅、字号大小、留白空间建立清晰的信息层级 - 交互反馈:每个可交互元素都必须有明确的 hover、active、focus 状态反馈 - 响应式适配:设计必须在移动端、平板、桌面端上保持一致的体验 - 无障碍性:确保色彩对比度符合 WCAG 2.
瑞士海报风风格常用什么配色?
瑞士海报风 的主色是 #000000,辅色是 #ffffff,强调色包括 #ff0000、#0057b8、#ffcc00、#6c3b00。每个色值都可以在本页色板中复制。
怎样把瑞士海报风风格做对?
关键做法:使用超大号无衬线粗体字(font-sans font-black). 严格遵循 12 列网格对齐(grid-cols-12). 使用黑白为主色调.
瑞士海报风风格最常见的错误是什么?
应避免:禁止使用装饰性字体或等宽字体. 禁止使用超过 rounded-sm 的圆角. 禁止使用渐变.
如何让 AI 生成瑞士海报风风格的界面?
复制本页提供的 AI 提示词(含设计 tokens 与组件规则),粘贴到 ChatGPT、Claude、Claude Code 或 Codex。提示词中应包含关键词:海报、大字体、网格、实验排版。
全局样式

全局 CSS

css
/* Swiss Poster Global Styles */

:root {
  --sp-black: #000000;
  --sp-white: #ffffff;
  --sp-red: #ff0000;
  --sp-blue: #0057b8;
  --sp-yellow: #ffcc00;
}

/* Structural grid overlay for development */
.sp-grid-overlay {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.03) 1px, transparent 1px);
  background-size: calc(100% / 12) 100px;
}

/* Color block accents */
.sp-block-red { background-color: var(--sp-red); }
.sp-block-blue { background-color: var(--sp-blue); }
.sp-block-yellow { background-color: var(--sp-yellow); }

/* Tight tracking for poster headings */
.sp-tight { letter-spacing: -0.05em; }

/* Structural divider line */
.sp-divider {
  border-top: 2px solid var(--sp-black);
}

/* Vertical text for sidebar labels */
.sp-vertical-text {
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  letter-spacing: 0.5em;
}

/* Asymmetric grid helper - 3/9 split */
.sp-grid-3-9 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.sp-grid-3-9 > :first-child { grid-column: span 3; }
.sp-grid-3-9 > :last-child { grid-column: span 9; }

/* Edge-to-edge buttons */
.sp-button-group {
  display: flex;
  gap: 0;
}
.sp-button-group > * + * {
  border-left: 0;
}
@keyframes swiss-poster-fade-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes swiss-poster-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.swiss-poster-card {
  position: relative;
  overflow: hidden;
}

.swiss-poster-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.05), transparent);
  pointer-events: none;
}

.swiss-poster-card:hover::before {
  opacity: 1;
}

.swiss-poster-frosted {
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  background: rgba(0, 0, 0, 0.08);
}

.swiss-poster-accent-corner {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
}

.swiss-poster-animate-in {
  animation: swiss-poster-fade-in 0.5s ease-out both;
}

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 的技能包

设计哲学

Swiss Poster 风格源于瑞士国际主义设计运动的海报传统,追求极致的排版表现力。

无障碍

无障碍评分

基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。

82

综合评分

等级: B - 良好

对比度

分数: 82/100平均比率: 13.91:1
AA 未通过AAA 未通过
场景颜色比率AAAAA
Text on background
/#000000 / #ffffff
21:1
Secondary text on background
/#000000 / #ffffff
21:1
Muted text on background
/#000000 / #ffffff
21:1
Text on secondary background
/#000000 / #f5f5f5
19.26:1
Secondary text on secondary
/#000000 / #f5f5f5
19.26:1
Button primary
/#ffffff / #000000
21:1
Text on accent 1
/#000000 / #ff0000
5.25:1
Alt text on accent 1
/#000000 / #ff0000
5.25:1
Text on accent 2
/#000000 / #0057b8
3.06:1
Alt text on accent 2
/#000000 / #0057b8
3.06:1
Text on accent 3
/#000000 / #ffcc00
13.89:1
Alt text on accent 3
/#000000 / #ffcc00
13.89:1

可读性

分数

83/100

字号

text-sm md:text-base

字重

font-sans font-black uppercase tracking-tighter

行高

default

评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。