Styledex
← Index

Op Art

欧普艺术

stylekitMITExperimental · experimentalLight · lightMedium · mediumNeutral · neutralMuted · mutedSerif · serifGeneral · generalLanding · landing

光学艺术运动风格,利用几何图案制造视觉幻象和运动感。黑白对比为核心,辅以振动色彩对。

NNorthwind
Product · Pricing
Specimen
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;
}
}