Swiss Poster
瑞士海报风
stylekitMITProfessional · professionalMinimal · minimalLight · lightLow (display) · lowNeutral · neutralMuted · mutedSerif · serifGeneral · generalLanding · landing
大胆排版、网格对齐、原色色块和实验性布局。源于瑞士国际主义海报设计传统,以超大字体和强烈的视觉层次构建信息传达。与 swiss-style 的区别在于更注重海报级别的实验性大排版。
NNorthwind
Product · PricingSpecimen
Make the work feel finished
One interface, dressed in this style. Compare type, color, radius, and density.
128
Active
4.8
Score
12ms
Edge
Attribution
"Swiss Poster" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86.
https://github.com/AnxForever/stylekit · api/styles/swiss-poster · bfa7da909e86 · © AnxForever
Do
- 使用超大号无衬线粗体字(font-sans font-black)
- 严格遵循 12 列网格对齐(grid-cols-12)
- 使用黑白为主色调
- 使用原色(红 #ff0000、蓝 #0057b8、黄 #ffcc00)作为色块强调
- 保持直角边缘(rounded-none)
- 文字全部大写(uppercase tracking-widest)
- 使用 border-2 border-[#000000] 分隔区域
- 使用 gap-0 让元素紧贴
Don't
- 禁止使用装饰性字体或等宽字体
- 禁止使用超过 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` — 印刷颜色切换是瞬时的)
Prompt
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 --- "Swiss Poster" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86. powered by Styledex — https://styledex.dev
Tokens
DTCG
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "Swiss Poster. \"Swiss Poster\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86.",
"$extensions": {
"dev.styledex": {
"id": "stylekit-swiss-poster",
"license": "MIT",
"attribution": "\"Swiss Poster\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86.",
"banner": "powered by Styledex — https://styledex.dev"
}
},
"color": {
"background": {
"$type": "color",
"$value": "#ffffff"
},
"foreground": {
"$type": "color",
"$value": "#000000"
},
"card": {
"$type": "color",
"$value": "#ffffff"
},
"card-foreground": {
"$type": "color",
"$value": "#000000"
},
"primary": {
"$type": "color",
"$value": "#000000"
},
"primary-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"secondary": {
"$type": "color",
"$value": "#ffffff"
},
"secondary-foreground": {
"$type": "color",
"$value": "#000000"
},
"accent": {
"$type": "color",
"$value": "#ff0000"
},
"accent-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"muted": {
"$type": "color",
"$value": "#f0f0f0"
},
"muted-foreground": {
"$type": "color",
"$value": "#595959"
},
"border": {
"$type": "color",
"$value": "#dbdbdb"
},
"destructive": {
"$type": "color",
"$value": "#dc2626"
},
"ring": {
"$type": "color",
"$value": "#000000"
}
},
"font": {
"sans": {
"$type": "fontFamily",
"$value": [
"ui-sans-serif",
"system-ui",
"sans-serif"
]
},
"serif": {
"$type": "fontFamily",
"$value": [
"ui-serif",
"Georgia",
"serif"
]
},
"mono": {
"$type": "fontFamily",
"$value": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
}
},
"radius": {
"base": {
"$type": "dimension",
"$value": "0px"
}
},
"spacing": {
"base": {
"$type": "dimension",
"$value": "1rem"
}
},
"shadow": {
"base": {
"$type": "shadow",
"$value": "0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04)"
}
}
}
CSS
/* powered by Styledex — https://styledex.dev */
/* "Swiss Poster" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86. */
:root {
--background: #ffffff;
--foreground: #000000;
--card: #ffffff;
--card-foreground: #000000;
--primary: #000000;
--primary-foreground: #fafaf9;
--secondary: #ffffff;
--secondary-foreground: #000000;
--accent: #ff0000;
--accent-foreground: #fafaf9;
--muted: #f0f0f0;
--muted-foreground: #595959;
--border: #dbdbdb;
--destructive: #dc2626;
--ring: #000000;
--radius: 0px;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}
Tailwind
/* powered by Styledex — https://styledex.dev */
/* "Swiss Poster" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86. */
/** Tailwind theme extend for Swiss Poster (stylekit-swiss-poster) */
module.exports = {
"theme": {
"extend": {
"colors": {
"background": "#ffffff",
"foreground": "#000000",
"card": "#ffffff",
"primary": "#000000",
"primary-foreground": "#fafaf9",
"secondary": "#ffffff",
"accent": "#ff0000",
"muted": "#f0f0f0",
"border": "#dbdbdb",
"destructive": "#dc2626",
"ring": "#000000"
},
"borderRadius": {
"lg": "0px"
},
"fontFamily": {
"sans": [
"ui-sans-serif",
"system-ui",
"sans-serif"
],
"serif": [
"ui-serif",
"Georgia",
"serif"
],
"mono": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
},
"boxShadow": {
"styledex": "0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04)"
}
}
}
};
shadcn
/* powered by Styledex — https://styledex.dev */
/* "Swiss Poster" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/swiss-poster @ bfa7da909e86. */
@layer base {
:root {
--background: #ffffff;
--foreground: #000000;
--card: #ffffff;
--card-foreground: #000000;
--primary: #000000;
--primary-foreground: #fafaf9;
--secondary: #ffffff;
--secondary-foreground: #000000;
--accent: #ff0000;
--accent-foreground: #fafaf9;
--muted: #f0f0f0;
--muted-foreground: #595959;
--border: #dbdbdb;
--destructive: #dc2626;
--ring: #000000;
--radius: 0px;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}
}