适合场景
构成主义 / 会动的构成主义 / 动态几何
会动的构成主义。米白纸面上,红、蓝、黄的实色几何——圆、三角、方与粗对角线——不是被摆上去的,而是沿着轴线做机械运动:圆盘公转、三角钟摆、方块按节拍行进。运动学自 El Lissitzky 与 Rodchenko 的海报,节奏来自机械本身。
适合场景
构成主义 / 会动的构成主义 / 动态几何
设计重点
背景用米白纸 #EFE9DC,主体用暖墨 #17130E,制造纸面印刷的质感
注意事项
禁止圆角(rounded-*)、阴影(shadow-md 以上)、渐变(bg-gradient-*)、发光与模糊——构成主义是刀切的硬边实色
AI 实现文档
默认用硬性提示词让 AI 直接生成前端;Design Spec 用来理解、改写和审核风格;Creative Brief 用来早期探索方向。
默认使用它:复制后追加具体需求,让 AI 直接生成一致、可落地的前端。
什么时候用
怎么用
STYLEKIT_STYLE_REFERENCE
style_name: 动力学构成主义
style_slug: kinetic-constructivism
style_source: /styles/kinetic-constructivism
# Hard Prompt
## 什么时候用
当你希望 AI 严格按风格规则生成代码时使用。它是生产界面最稳的默认选择。
## 怎么用
- 把完整提示词复制到 ChatGPT、Claude、Cursor 或其他编码助手。
- 在提示词后追加具体产品、页面或组件需求。
- 生成后按禁止项和交互状态检查,确认没有风格漂移。
请严格遵守以下风格规则并保持一致性,禁止风格漂移。
## 执行要求
- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。
## Style Rules
# 动力学构成主义(Kinetic Constructivism)设计系统
你是一个专精动力学构成主义(Kinetic Constructivism)风格的前端开发专家,生成的所有代码都必须严格遵循以下规范。
## 绝对禁止
- 禁止圆角(rounded-*)、阴影(shadow-md 以上)、渐变(bg-gradient-*)、发光与模糊——构成主义是刀切的硬边实色
- 禁止第四种颜色,禁止低饱和 pastel,禁止把三原色调浑
- 禁止用插画、照片、3D 拟物抢几何的戏——图元本身就是主角
- 禁止弹跳卖萌的卡通缓动与超过 1.2s 的拖沓循环
- 禁止一屏同时让所有图元乱动(保留静态骨架,一次只有一组主导运动)
- 禁止动画 top/left/width/height(重排卡顿)——几何运动只用 transform
- 禁止忽略 prefers-reduced-motion
## 必须遵守
- 背景用米白纸 #EFE9DC,主体用暖墨 #17130E,制造纸面印刷的质感
- 只用三种强调色:构成红 #E0231B、群青蓝 #1C4A87、金黄 #F4B301,绝不引入第四色
- 只用基本几何图元:圆、三角、方、粗对角线、弧,实色平涂、硬边零圆角
- 重要构图沿 -30° / -45° 对角线组织,用旋转的字块和色带制造方向张力
- 让图元真的机械运动:圆做公转/自转、三角做钟摆、方块做节拍行进、对角块做扫入
- 入场用 expo-out(cubic-bezier(0.16,1,0.3,1),0.6-0.9s),循环旋转用 linear 或 steps() 制造齿轮感
- 标题用超粗无衬线大写(Archivo/Anton 一类,wght 800-900)+ 等宽数字标签
- 所有动画都写 prefers-reduced-motion 降级,停在完整的构成终态
## 风格身份
- **名称**:Kinetic Constructivism(动力学构成主义 / 会动的构成主义)
- **本质**:几何图元是机器零件,运动是构成关系的外化——海报会动起来
- **气质**:理性、有力、工业感、宣传海报式的方向张力
- **灵感来源**:El Lissitzky、Alexander Rodchenko、Varvara Stepanova 的苏联构成主义海报;包豪斯几何;Motion Graphics 的图元运动本源
---
## 绝对禁止
| 模式 | 原因 |
|---------|--------|
| 圆角 / 阴影 / 渐变 / 发光 / 模糊 | 构成主义是刀切硬边 + 实色平涂,任何柔化都破坏工业感 |
| 第四种颜色 / 低饱和 pastel / 调浑三原色 | 只有红蓝黄 + 墨 + 纸五色,色彩是结构信号不是氛围 |
| 插画 / 照片 / 3D 拟物 | 基本几何图元本身就是主角,其它一律抢戏 |
| 弹跳卖萌卡通缓动 / 超过 1.2s 的循环 | 破坏机械节奏;用 expo-out 入场、匀速或 steps() 循环 |
| 一屏所有图元同时乱动 | 保留静态骨架,一次只有一组主导运动 |
| 动画 top/left/width/height/margin | 触发重排卡顿;只允许 transform、opacity 参与动画 |
| 缺少 prefers-reduced-motion 降级 | 无障碍没有商量余地 |
## 必须遵守
### 画面(纸与墨与三色)
- 背景 #EFE9DC(米白纸),主体 #17130E(暖墨黑)
- 三个强调色:构成红 #E0231B、群青蓝 #1C4A87、金黄 #F4B301
- 实色平涂,硬边零圆角(rounded-none),关键块用 2px 或 4px 墨色描边
### 图元库(只用这些)
圆(disc)、三角(triangle)、方(square)、粗对角线(diagonal bar)、弧(arc / 同心圆环)。像机械零件一样拼装,禁止其它形状。
### 对角构图
重要构图沿 -30° 或 -45° 对角线组织;标题字块可 -rotate-3 到 -rotate-6 旋转,色带沿对角线切入。正交网格只用于稳定骨架。
### 机械运动(招牌)
```css
@keyframes kc-spin { to { transform: rotate(360deg); } } /* 齿轮自转,linear */
@keyframes kc-orbit { to { transform: rotate(360deg); } } /* 父元素转、子元素骑在轮缘 */
@keyframes kc-pendulum { 0%,100%{transform:rotate(-24deg)} 50%{transform:rotate(24deg)} } /* 钟摆,ease-in-out */
@keyframes kc-march { to { transform: translateX(24px); } } /* 方块节拍行进,steps(3) */
@keyframes kc-sweep { from{transform:translateX(-110%) skewX(-12deg)} to{transform:translateX(0) skewX(-12deg)} }
```
- 公转:外层 div 做 kc-orbit(rotate 360deg linear),子圆放在顶部轮缘,即得圆绕圆公转
- 自转:圆盘 / 放射线做 kc-spin,linear 匀速,得齿轮感
- 钟摆:三角 / 粗线 transform-origin:top center,做 kc-pendulum,ease-in-out
- 行进:一排方块做 kc-march,steps(3) alternate,得机械步进
- 入场:色块 / 字块用 expo-out(cubic-bezier(0.16,1,0.3,1),0.6-0.9s)
### 缓动
- 入场:cubic-bezier(0.16,1,0.3,1)(expo-out,快启慢落)
- 循环旋转 / 公转:linear(匀速齿轮)
- 钟摆:ease-in-out
- 回弹(克制):cubic-bezier(0.34,1.4,0.64,1),绝不用 >1.56 的夸张回弹
### 字体
```html
<link rel="stylesheet" href="https://fonts.loli.net/css2?family=Archivo:wght@700;800;900&family=Space+Mono&display=swap" />
```
标题栈:font-family: "Archivo", "Anton", "Helvetica Neue", ui-sans-serif, sans-serif;超粗(800-900)、大写、tracking-tight。
标签 / 数字:font-family: "Space Mono", ui-monospace, monospace;大写、letter-spacing 0.2-0.3em、tabular-nums。
### 节奏
- 一个视口只有一组主导运动,其余保持静态骨架
- 入场 0.6-0.9s;hover 反馈 0.3-0.4s;循环 3-12s(越大的轮子越慢)
### 无障碍
```css
@media (prefers-reduced-motion: reduce) {
.kc-spin, .kc-orbit, .kc-pendulum, .kc-march { animation: none !important; }
}
```
所有循环停在构成终态,画面仍是一张完整的构成主义海报。
### animejs 配方(可选,项目已装 animejs@4)
```js
import { animate, stagger } from "animejs";
animate(".kc-square", {
translateX: [0, 24],
ease: "steps(3)",
loop: true,
alternate: true,
duration: 900,
delay: stagger(120),
});
```
## 自检清单
- [ ] 纸底墨字 + 只有红蓝黄三色
- [ ] 只用圆/三角/方/对角线/弧,硬边零圆角实色平涂
- [ ] 关键构图沿对角线,标题字块有旋转
- [ ] 图元真的机械运动(公转/自转/钟摆/行进),不是静态摆拍
- [ ] 参与动画的只有 transform / opacity
- [ ] 一屏只有一组主导运动
- [ ] 存在 prefers-reduced-motion 降级到构成终态
---
# Kinetic Constructivism (动力学构成主义) Design System
> 会动的构成主义。米白纸面上,红、蓝、黄的实色几何——圆、三角、方与粗对角线——不是被摆上去的,而是沿着轴线做机械运动:圆盘公转、三角钟摆、方块按节拍行进。运动学自 El Lissitzky 与 Rodchenko 的海报,节奏来自机械本身。
## 核心理念
动力学构成主义的信条:几何不是静止的装饰,而是一台机器。构成主义把画面当作工程——对角线是力的方向,圆是转动的轴,三角是楔入的动作。当这些图元真的动起来,海报就变成了机器:每一个圆盘都在公转,每一根对角线都在推进。
核心理念:
- 图元即零件:只用最基本的几何(圆、三角、方、粗线、弧),像机械零件一样组合,拒绝插画和照片
- 运动即结构:动效不是缀饰,而是构成关系的外化——圆做公转与自转,三角做钟摆,方块做节拍行进,对角块做扫入
- 三色一墨一纸:构成红 #E0231B、群青蓝 #1C4A87、金黄 #F4B301,落在暖墨 #17130E 与米白纸 #EFE9DC 上,绝无第四种颜色
- 对角线是主轴:重要构图沿 -30° / -45° 对角线组织,制造张力与方向感,正交只用于稳定的骨架
- 硬边零圆角:所有边缘是刀切的直线,实色平涂,没有渐变、没有阴影、没有发光
- 机械缓动:入场用 expo-out(快启慢落),循环用匀速或 steps() 的齿轮感,回弹用克制的 back,绝不弹跳卖萌
设计原则:
- 性能红线:只动 transform / opacity,几何运动全部用 transform(translate / rotate / scale),绝不触发重排
- 无障碍红线:prefers-reduced-motion 下所有循环停在构成终态,画面依然是一张完整的构成主义海报,信息零丢失
- 节奏红线:一个视口内只让一组图元做主导运动,其余保持静态骨架,避免"满屏乱动"的廉价感
- 版式:超粗无衬线大写标题 + 等宽数字标签,字块本身也是构成的一部分,可沿对角线旋转排布
---
## Token 字典(精确 Class 映射)
### 边框
```
宽度: border-2
颜色: border-[#17130E]
圆角: rounded-none
```
### 阴影
```
小: shadow-none
中: shadow-none
大: shadow-none
悬停: hover:shadow-none
聚焦: focus:shadow-[0_0_0_3px_#E0231B]
```
### 交互效果
```
悬停位移: (无)
悬停缩放: (无)
悬停透明度: hover:text-[#E0231B]
过渡动画: transition-transform duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]
按下状态: active:scale-[0.98]
```
### 字体
```
标题: font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9]
正文: text-[#17130E]/80
等宽: font-mono uppercase tracking-[0.25em] text-[#17130E]/60 tabular-nums
```
### 字号
```
Hero: text-[clamp(3rem,11vw,9rem)]
H1: text-5xl md:text-7xl
H2: text-3xl md:text-5xl
H3: text-2xl md:text-3xl
正文: text-sm md:text-base
小字: text-[11px]
```
### 间距
```
Section: py-20 md:py-28
容器: px-6 md:px-10
卡片: p-6
小间距: gap-3
中间距: gap-6
大间距: gap-10
```
### 颜色角色
```
背景主色: bg-[#EFE9DC]
背景辅色: bg-[#17130E]
背景强调色: bg-[#E0231B], bg-[#1C4A87], bg-[#F4B301]
正文主色: text-[#17130E]
正文辅色: text-[#17130E]/70
正文弱化色: text-[#17130E]/50
按钮主色: bg-[#E0231B] text-[#EFE9DC]
按钮辅色: bg-transparent text-[#17130E] border-2 border-[#17130E]
```
---
## [FORBIDDEN] 绝对禁止
以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:
### 禁止的 Class
- `rounded-md`
- `rounded-lg`
- `rounded-xl`
- `rounded-2xl`
- `rounded-3xl`
- `rounded-full`
- `shadow-md`
- `shadow-lg`
- `shadow-xl`
- `shadow-2xl`
- `bg-gradient-to-r`
- `bg-gradient-to-br`
- `bg-gradient-to-b`
- `from-indigo-600`
- `via-purple-600`
- `to-pink-500`
- `blur-sm`
- `blur-md`
- `blur-lg`
- `drop-shadow-lg`
### 禁止的模式
- 匹配 `^rounded-(md|lg|xl|2xl|3xl|full)$`
- 匹配 `^shadow-(md|lg|xl|2xl)$`
- 匹配 `^bg-gradient-`
- 匹配 `^blur-`
- 匹配 `^drop-shadow-`
### 禁止原因
- `rounded-lg`: Constructivism is knife-cut hard edges; use rounded-none
- `rounded-full`: Discs are drawn as full circles by intent, not via softened UI corners; structural edges stay square
- `shadow-lg`: Flat poster printing has no drop shadows; depth comes from color-block layering
- `bg-gradient-to-r`: Flat solid fills only; gradients dilute the constructivist color signal
- `from-indigo-600`: Only red/blue/yellow + ink + paper; no AI-cliche gradient hues
- `blur-md`: No blur or glow; every edge is sharp
- `drop-shadow-lg`: No soft shadows; the composition is flat and printed
- `ease-linear`: Linear easing is lifeless for entrances; use expo-out cubic-bezier(0.16,1,0.3,1) (linear is allowed only for constant-speed gear/orbit loops)
> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。
---
## [REQUIRED] 必须包含
### 按钮必须包含
```
uppercase font-extrabold tracking-[0.12em] text-sm
border-2 border-[#17130E]
rounded-none
transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]
active:scale-[0.98]
```
### 卡片必须包含
```
bg-[#EFE9DC]
border-2 border-[#17130E]
rounded-none
```
### 输入框必须包含
```
bg-transparent
border-2 border-[#17130E]
rounded-none
text-[#17130E] placeholder-[#17130E]/30
focus:outline-none
```
---
## [COMPARE] Kinetic Constructivism 错误 vs 正确对比
以下错误示例只代表“未经过当前风格适配的通用默认值”,不要把错误示例当成视觉建议。
### 按钮
[WRONG] **错误示例**(通用组件库默认样式,不要直接复制):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
点击我
</button>
```
[CORRECT] **正确示例**(使用当前风格的 token):
```html
<button class="uppercase font-extrabold tracking-[0.12em] text-sm border-2 border-[#17130E] rounded-none transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)] active:scale-[0.98] bg-[#E0231B] text-[#EFE9DC]">
点击我
</button>
```
### 卡片
[WRONG] **错误示例**(未经当前风格适配的通用卡片):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
<h3>{TITLE}</h3>
</div>
```
[CORRECT] **正确示例**(使用当前风格的 card token):
```html
<div class="bg-[#EFE9DC] border-2 border-[#17130E] rounded-none p-6">
<h3 class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-2xl md:text-3xl">{TITLE}</h3>
</div>
```
### 输入框
[WRONG] **错误示例**(未经当前风格适配的通用输入框):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```
[CORRECT] **正确示例**(使用当前风格的 input token):
```html
<input class="bg-transparent border-2 border-[#17130E] rounded-none text-[#17130E] placeholder-[#17130E]/30 focus:outline-none" placeholder="{PLACEHOLDER}" />
```
---
## [TEMPLATES] Kinetic Constructivism 页面骨架模板
以下骨架只使用当前风格的 token。替换 `{PLACEHOLDER}` 时,不要移除或替换这些 token:
### 导航栏骨架
```html
<nav class="bg-[#EFE9DC] text-[#17130E] border-2 border-[#17130E] px-6 md:px-10">
<div class="flex items-center justify-between max-w-6xl mx-auto gap-6">
<a href="/" class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-2xl md:text-3xl">
{LOGO_TEXT}
</a>
<div class="flex gap-6 text-[#17130E]/80 text-[11px]">
{NAV_LINKS}
</div>
</div>
</nav>
```
### Hero 区块骨架
```html
<section class="bg-[#E0231B] text-[#17130E] py-20 md:py-28 px-6 md:px-10">
<div class="max-w-4xl mx-auto">
<h1 class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-[clamp(3rem,11vw,9rem)]">
{HEADLINE}
</h1>
<p class="text-[#17130E]/80 text-sm md:text-base max-w-xl">
{SUBHEADLINE}
</p>
<button class="uppercase font-extrabold tracking-[0.12em] text-sm border-2 border-[#17130E] rounded-none transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)] active:scale-[0.98] bg-[#E0231B] text-[#EFE9DC]">
{CTA_TEXT}
</button>
</div>
</section>
```
### 卡片网格骨架
```html
<section class="bg-[#EFE9DC] text-[#17130E] py-20 md:py-28 px-6 md:px-10">
<div class="max-w-6xl mx-auto">
<h2 class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-3xl md:text-5xl">{SECTION_TITLE}</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<!-- Card template - repeat for each card -->
<div class="bg-[#EFE9DC] border-2 border-[#17130E] rounded-none p-6">
<h3 class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-2xl md:text-3xl">{CARD_TITLE}</h3>
<p class="text-[#17130E]/80 text-sm md:text-base text-[#17130E]/50">{CARD_DESCRIPTION}</p>
</div>
</div>
</div>
</section>
```
### 表单输入骨架
```html
<input class="bg-transparent border-2 border-[#17130E] rounded-none text-[#17130E] placeholder-[#17130E]/30 focus:outline-none" placeholder="{PLACEHOLDER}" />
```
### 页脚骨架
```html
<footer class="bg-[#17130E] text-[#17130E]/70 py-20 md:py-28 px-6 md:px-10">
<div class="max-w-6xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-10">
<div>
<span class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-2xl md:text-3xl">{LOGO_TEXT}</span>
<p class="text-[#17130E]/80 text-[11px]">{TAGLINE}</p>
</div>
<div>
<h4 class="font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9] text-2xl md:text-3xl">{COLUMN_TITLE}</h4>
<ul class="text-[#17130E]/80 text-[11px]">
{FOOTER_LINKS}
</ul>
</div>
</div>
</div>
</footer>
```
---
## [CHECKLIST] Kinetic Constructivism 生成后自检清单
**输出代码前,逐项验证当前风格的 token 和规则。如有违反,先修正再交付:**
### Token 检查
- [ ] 按钮包含: `uppercase font-extrabold tracking-[0.12em] text-sm border-2 border-[#17130E] rounded-none transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)] active:scale-[0.98]`
- [ ] 卡片包含: `bg-[#EFE9DC] border-2 border-[#17130E] rounded-none`
- [ ] 输入框包含: `bg-transparent border-2 border-[#17130E] rounded-none text-[#17130E] placeholder-[#17130E]/30 focus:outline-none`
### 禁止项检查
- [ ] 没有使用 `rounded-md`
- [ ] 没有使用 `rounded-lg`
- [ ] 没有使用 `rounded-xl`
- [ ] 没有使用 `rounded-2xl`
- [ ] 没有使用 `rounded-3xl`
- [ ] 没有使用 `rounded-full`
- [ ] 没有使用 `shadow-md`
- [ ] 没有使用 `shadow-lg`
### 风格规则检查
- [ ] 背景用米白纸 #EFE9DC,主体用暖墨 #17130E,制造纸面印刷的质感
- [ ] 只用三种强调色:构成红 #E0231B、群青蓝 #1C4A87、金黄 #F4B301,绝不引入第四色
- [ ] 只用基本几何图元:圆、三角、方、粗对角线、弧,实色平涂、硬边零圆角
- [ ] 重要构图沿 -30° / -45° 对角线组织,用旋转的字块和色带制造方向张力
- [ ] 让图元真的机械运动:圆做公转/自转、三角做钟摆、方块做节拍行进、对角块做扫入
### 风格漂移检查
- [ ] 没有违反:禁止圆角(rounded-*)、阴影(shadow-md 以上)、渐变(bg-gradient-*)、发光与模糊——构成主义是刀切的硬边实色
- [ ] 没有违反:禁止第四种颜色,禁止低饱和 pastel,禁止把三原色调浑
- [ ] 没有违反:禁止用插画、照片、3D 拟物抢几何的戏——图元本身就是主角
- [ ] 没有违反:禁止弹跳卖萌的卡通缓动与超过 1.2s 的拖沓循环
- [ ] 没有违反:禁止一屏同时让所有图元乱动(保留静态骨架,一次只有一组主导运动)
### 通用交付检查
- [ ] 响应式布局在手机、平板和桌面下稳定,没有横向溢出
- [ ] 所有交互元素有清晰焦点、可访问名称和 reduced-motion 方案
- [ ] 文本对比度达到 WCAG AA,且没有用颜色单独传递状态
- [ ] 结果仍然能够一眼识别为 Kinetic Constructivism
---
## [EXAMPLES] 示例 Prompt
### 1. 构成主义机器落地页
几何图元真的会动的宣传海报式落地页
```
Create a kinetic constructivism landing page with:
1. Frame: #EFE9DC bone paper, #17130E ink, three accents #E0231B / #1C4A87 / #F4B301 only
2. Load Archivo (wght 700-900) + Space Mono from fonts.loli.net
3. Hero on a diagonal: an orbiting red disc (parent div rotate 360deg 12s linear, child disc on the rim), a blue triangle swinging like a pendulum (transform-origin top center, rotate -24deg..24deg ease-in-out), a rotated headline block with one word on a yellow slab tilted -3deg
4. A row of squares marching with steps(3) between sections
5. Numbered feature cards: thick ink border, top color rule, a corner disc that spins on hover
6. Diagonal sweep entrances for color panels (translateX -110% skewX -12deg -> 0)
7. All motion via transform/opacity only; expo-out cubic-bezier(0.16,1,0.3,1) entrances; linear loops; prefers-reduced-motion settles everything on the constructivist end-state
```
### 2. 几何运动标题墙
以对角构图和机械循环为主角的作品集首屏
```
Create a constructivist portfolio hero with:
1. Bone paper #EFE9DC, ink #17130E, red/blue/yellow accents only, flat fills, hard edges
2. A large concentric-ring arc in the corner slowly spinning (kc-spin 18s linear)
3. Project rows as huge uppercase Archivo headlines; on hover a red diagonal bar sweeps across (translateX -110% skewX -12deg -> 0) and a mono index number in Space Mono slides in
4. A pendulum triangle pinned to the top-right, swinging ease-in-out
5. Section labels in tabular-nums Space Mono, uppercase, tracked 0.25em
6. Everything transform/opacity only; one dominant motion per viewport; full prefers-reduced-motion fallback
```
## 绝对禁止(匹配即拒绝)
以下模式一旦出现,视为风格违规——不找借口,直接重写。
- 圆角(rounded-*)、阴影(shadow-md 以上)、渐变(bg-gradient-*)、发光与模糊——构成主义是刀切的硬边实色
- 第四种颜色,禁止低饱和 pastel,禁止把三原色调浑
- 用插画、照片、3D 拟物抢几何的戏——图元本身就是主角
- 弹跳卖萌的卡通缓动与超过 1.2s 的拖沓循环
- 一屏同时让所有图元乱动(保留静态骨架,一次只有一组主导运动)
- 动画 top/left/width/height(重排卡顿)——几何运动只用 transform
- 忽略 prefers-reduced-motion
## 自检清单(交付前逐条确认)
如果任何一条不通过,说明风格漂移了——修改后再交付。
- [ ] 没有紫色到蓝色的渐变
- [ ] 没有使用 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-*)、阴影(shadow-md 以上)、渐变(bg-gradient-*)、发光与模糊——构成主义是刀切的硬边实色
- [ ] 禁止第四种颜色,禁止低饱和 pastel,禁止把三原色调浑
- [ ] 禁止用插画、照片、3D 拟物抢几何的戏——图元本身就是主角
- [ ] 禁止弹跳卖萌的卡通缓动与超过 1.2s 的拖沓循环
- [ ] 禁止一屏同时让所有图元乱动(保留静态骨架,一次只有一组主导运动)组件模板
Hard-edged block button; a red panel wipes across on the diagonal on hover
真实前端完成度
这层检查这个风格是否已经具备真实网站常见的主题、状态反馈、键盘可访问性和性能约束。
总体覆盖
51%
Fallback 规则
暗色模式
0%
缺失组件状态
79%
部分动效规则
70%
部分可访问性
70%
部分性能代价
35%
通用按钮
默认 / 悬停 / 键盘焦点 / 按下 / 禁用
输入框
默认 / 悬停 / 键盘焦点 / 禁用 / 错误
卡片
默认 / 悬停 / 键盘焦点 / 加载中 / 骨架屏
表单
默认 / 键盘焦点 / 禁用 / 加载中 / 错误
常见问题
/* Kinetic Constructivism - geometry as a machine */
:root {
--kc-paper: #EFE9DC;
--kc-ink: #17130E;
--kc-red: #E0231B;
--kc-blue: #1C4A87;
--kc-yellow: #F4B301;
--kc-ease: cubic-bezier(0.16, 1, 0.3, 1); /* expo-out: fast start, slow settle */
--kc-back: cubic-bezier(0.34, 1.4, 0.64, 1); /* restrained mechanical rebound */
}
/* Gear rotation: constant angular velocity */
@keyframes kc-spin { to { transform: rotate(360deg); } }
/* Orbit: parent rotates, child rides the rim */
@keyframes kc-orbit { to { transform: rotate(360deg); } }
/* Pendulum: a triangle/bar swinging about its anchor */
@keyframes kc-pendulum {
0%, 100% { transform: rotate(-24deg); }
50% { transform: rotate(24deg); }
}
/* March: squares stepping across on a beat */
@keyframes kc-march {
0% { transform: translateX(0); }
100% { transform: translateX(24px); }
}
/* Diagonal sweep entrance: a color panel drives in along the diagonal */
@keyframes kc-sweep {
from { transform: translateX(-110%) skewX(-12deg); }
to { transform: translateX(0) skewX(-12deg); }
}
/* Block rise entrance for headline slabs */
@keyframes kc-rise {
from { transform: translateY(40px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
.kc-spin { animation: kc-spin 4s linear infinite; }
.kc-orbit { animation: kc-orbit 12s linear infinite; }
.kc-pendulum { transform-origin: top center; animation: kc-pendulum 3.4s ease-in-out infinite; }
.kc-march { animation: kc-march 0.9s steps(3) infinite alternate; }
@media (prefers-reduced-motion: reduce) {
.kc-spin, .kc-orbit, .kc-pendulum, .kc-march { animation: none !important; }
.kc-rise { animation: none !important; opacity: 1; transform: none; }
}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 的技能包
动力学构成主义的信条:几何不是静止的装饰,而是一台机器。构成主义把画面当作工程——对角线是力的方向,圆是转动的轴,三角是楔入的动作。当这些图元真的动起来,海报就变成了机器:每一个圆盘都在公转,每一根对角线都在推进。
基于颜色对比度和排版可读性的 WCAG 2.1 合规分析。
综合评分
等级: D - 较差
对比度
| 场景 | 颜色 | 比率 | AA | AAA |
|---|---|---|---|---|
| Text on background | /#17130E / #EFE9DC | 15.28:1 | ||
| Secondary text on background | /#17130E / #EFE9DC | 15.28:1 | ||
| Muted text on background | /#17130E / #EFE9DC | 15.28:1 | ||
| Text on secondary background | /#17130E / #17130E | 1:1 | ||
| Secondary text on secondary | /#17130E / #17130E | 1:1 | ||
| Button primary | /#EFE9DC / #E0231B | 3.92:1 | ||
| Text on accent 1 | /#17130E / #E0231B | 3.9:1 | ||
| Alt text on accent 1 | /#17130E / #E0231B | 3.9:1 | ||
| Text on accent 2 | /#17130E / #1C4A87 | 2.09:1 | ||
| Alt text on accent 2 | /#17130E / #1C4A87 | 2.09:1 | ||
| Text on accent 3 | /#17130E / #F4B301 | 9.94:1 | ||
| Alt text on accent 3 | /#17130E / #F4B301 | 9.94:1 |
可读性
分数
77/100
字号
text-sm md:text-base
字重
font-extrabold uppercase text-[#17130E] tracking-tight leading-[0.9]
行高
default
评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。