Op Art
欧普艺术
stylekitMITExperimental · experimentalLight · lightMedium · mediumNeutral · neutralMuted · mutedSerif · serifGeneral · generalLanding · landing
光学艺术运动风格,利用几何图案制造视觉幻象和运动感。黑白对比为核心,辅以振动色彩对。
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
"Op Art" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ bfa7da909e86.
https://github.com/AnxForever/stylekit · api/styles/op-art · bfa7da909e86 · © AnxForever
Do
- 使用纯黑白高对比 bg-black text-white bg-white text-black
- 使用几何图案元素——同心圆、条纹、棋盘格作为装饰
- 使用振动色彩对作为点缀 text-[#ff3300] bg-[#0066ff] text-[#ffcc00]
- 使用极简无衬线字体 font-sans font-medium
- 使用严格网格对齐 grid grid-cols-* items-center justify-center
- 保持大面积留白平衡光学图案的视觉强度
- 使用 border-2 border-black 强调几何线条
- 使用 rounded-none 保持锐利的几何边缘
Don't
- 禁止在大面积使用密集光学图案导致视觉疲劳
- 禁止使用柔和渐变 bg-gradient-to-r 削弱对比度
- 禁止使用柔和阴影 shadow-sm shadow-md 破坏平面感
- 禁止使用圆角 rounded-lg rounded-xl rounded-full
- 禁止使用衬线字体 font-serif
- 禁止使用超过两种强调色,保持黑白为主体
- 禁止使用半透明或模糊效果 opacity-50 backdrop-blur
- 禁止 hover 时使用平滑渐变过渡(必须是黑白硬切,duration-100 或 duration-150)
Prompt
用 Op Art 风格创建一个艺术展览页面,要求: 1. 背景:纯白 + 局部黑白光学图案装饰 2. 标题:黑色无衬线大写 + 宽字距 3. 装饰:同心圆 + 条纹 + 棋盘格(克制使用) 4. 按钮:黑白反转悬停效果 5. 整体干净锐利,视觉张力集中在局部 --- "Op Art" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ bfa7da909e86. powered by Styledex — https://styledex.dev
Tokens
DTCG
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "Op Art. \"Op Art\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ bfa7da909e86.",
"$extensions": {
"dev.styledex": {
"id": "stylekit-op-art",
"license": "MIT",
"attribution": "\"Op Art\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ 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": "#ff3300"
},
"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": "4px 4px 0 #000000"
}
}
}
CSS
/* powered by Styledex — https://styledex.dev */
/* "Op Art" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ bfa7da909e86. */
:root {
--background: #ffffff;
--foreground: #000000;
--card: #ffffff;
--card-foreground: #000000;
--primary: #000000;
--primary-foreground: #fafaf9;
--secondary: #ffffff;
--secondary-foreground: #000000;
--accent: #ff3300;
--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: 4px 4px 0 #000000;
}
Tailwind
/* powered by Styledex — https://styledex.dev */
/* "Op Art" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ bfa7da909e86. */
/** Tailwind theme extend for Op Art (stylekit-op-art) */
module.exports = {
"theme": {
"extend": {
"colors": {
"background": "#ffffff",
"foreground": "#000000",
"card": "#ffffff",
"primary": "#000000",
"primary-foreground": "#fafaf9",
"secondary": "#ffffff",
"accent": "#ff3300",
"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": "4px 4px 0 #000000"
}
}
}
};
shadcn
/* powered by Styledex — https://styledex.dev */
/* "Op Art" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/op-art @ bfa7da909e86. */
@layer base {
:root {
--background: #ffffff;
--foreground: #000000;
--card: #ffffff;
--card-foreground: #000000;
--primary: #000000;
--primary-foreground: #fafaf9;
--secondary: #ffffff;
--secondary-foreground: #000000;
--accent: #ff3300;
--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: 4px 4px 0 #000000;
}
}