Nothing Design Skill 前端实战:React + Tailwind 构建 Nothing 风格组件的最佳实践
【免费下载链接】nothing-design-skillA Claude Code skill for generating UI in the Nothing design language. Monochrome, typographic, industrial.项目地址: https://gitcode.com/gh_mirrors/no/nothing-design-skill
Nothing Design Skill 是一个为 Claude Code 打造的 Nothing 风格 UI 设计技能:单色、排版驱动、工业质感。它能帮你把「瑞士排版 + OLED 黑 + 点阵字体」这套难言明的设计规范,变成 AI 可直接执行的标准,输出 HTML/CSS、SwiftUI 或React + Tailwind三种技术栈的组件代码。
📦 快速安装:把技能装进 Claude Code
Nothing Design Skill 本质是一个「可复用的提示词工程包」。安装只需两步——克隆仓库,然后把nothing-design文件夹复制到 Claude Code 的 skills 目录:
git clone https://gitcode.com/gh_mirrors/no/nothing-design-skill cp -r nothing-design-skill/nothing-design ~/.claude/skills/重启 Claude Code 后,输入/nothing-design或直接说「Nothing 风格」即可触发。整个设计体系的灵魂文件是 nothing-design/SKILL.md,里面定义了设计哲学、工艺规则与完整工作流。
🎯 核心原则:三层视觉层级
用 React + Tailwind 构建 Nothing 风格组件前,先理解最核心的一条规则:每个屏幕只有三层重要性(Primary / Secondary / Tertiary)。
| 层级 | 角色 | 实现方式 |
|---|---|---|
| 主层级 | 用户第一眼看到的唯一重点 | Doto 点阵字体,48–96px 呼吸空间 |
| 次层级 | 支撑性上下文 | Space Grotesk 正文,紧跟主层级 |
| 第三层 | 元数据、导航 | Space Mono 全大写小标签,贴边放置 |
检验方法很简单:眯眼看屏幕,还能分清主次吗?如果有两件事在「抢戏」,其中一个必须缩小、变淡或挪走。
常见错误:把所有元素都做成「次层级」。均等的字号 + 均等的间距 = 视觉扁平化。要大胆——让主层级大到夸张,第三层小到几乎消失,对比本身就是层级。
🎨 Tailwind 最佳实践:用 CSS 变量映射设计 Tokens
Nothing 风格的第一特征是「精确的灰阶」。官方在 nothing-design/references/tokens.md 中定义了完整的暗色/亮色 Token 系统。推荐做法:先在:root声明 CSS 变量,再通过 Tailwind 的theme.extend.colors映射,让bg-[--surface]这类写法全局生效。
:root { --black: #000000; --surface: #111111; --border: #222222; --text-disabled: #666666; --text-secondary: #999999; --text-primary: #E8E8E8; --text-display: #FFFFFF; --accent: #D71921; /* 每屏最多一次,仅作"中断" */ }几个关键 Token 约束(来自 nothing-design/references/platform-mapping.md 的 Web 映射规范):
- 字号用 rem,间距用 px:
--space-xs(4px) 到--space-4xl(96px),8px 基准 - 间距即语义:4–8px 表示「属于一起」,16px 表示「同组不同项」,32–48px 表示「新分组」,64–96px 表示「全新上下文」
- 需要分割线时,多半是间距出了问题——优先加大间距对比,而不是画线
⚙️ React 组件实战:三个高频模式
组件级规范集中在 nothing-design/references/components.md,以下三个模式在 React + Tailwind 中最常用。
1. 按钮:Space Mono 全大写
<button className="h-11 rounded-full bg-white px-6 font-mono text-[13px] uppercase tracking-wider text-black"> Save </button>Primary 按钮反色胶囊(999px 圆角)、12–24px 内边距、最小 44px 触控高度;Ghost 按钮则无底色无边框,仅用--text-secondary灰阶区分。
2. 分段进度条:标志性数据可视化
这是 Nothing 风格的「签名元素」:由离散矩形块 + 2px 间隙组成的机械仪表感进度条,端部无圆角,填充用状态色、空段用--border。用 React 生成时,只需循环渲染w-3 h-2 bg-none的方块数组即可。
3. 状态行与标签:全大写仪表风
数据行左标签右数值:标签固定 Space Mono 全大写 + 灰阶,数值用状态色(成功#4A9E5C、警告#D4A843、超限红),颜色只染数值本身,不染标签和行背景。
🌗 暗色模式:一等公民,不是「反色」
Nothing 的暗色模式是 OLED 纯黑(#000000背景 + 发白数据,像暗房里的仪表盘),亮色模式是「技术手册纸感」(#F5F5F5米白 + 黑墨,卡片用#FFFFFF做出无阴影的微妙抬升)。两套模式平等重要,不存在默认值——动手前先问用户从哪种模式开始。在 React 中用class切换 +prefers-color-scheme双保险,Token 差异全部收敛在 CSS 变量层,组件代码零改动。
✅ 反模式清单:这些一律别做
Nothing 风格的力量来自克制。写组件时对照 nothing-design/SKILL.md 第三节的禁令快速自检:
- ❌ 无渐变、无阴影、无模糊——扁平表面 + 边框分隔
- ❌ 无骨架屏,改用
[LOADING...]文本或分段 spinner - ❌ 无 Toast 弹窗,改用行内状态文本
[SAVED]、[ERROR: ...] - ❌ 无斑马纹表格;图标仅 1.5px 单线描边,无填充
- ❌ 无弹性回弹动画,只允许 150–250ms 的微妙 ease-out
🚀 上手建议
- 先在 tokens.md 的字体表中声明要加载的 Google Fonts(Doto / Space Grotesk / Space Mono),永远不要假设字体已存在
- 每个屏幕的字体预算:最多 2 个字体家族、3 个字号、2 个字重
- 每屏允许恰好一处「破格」——一个超大数字、一个红色圆点、一片巨大留白。这一处破格就是设计本身
- 把需求描述喂给 Claude Code 时明确说「Nothing style, dark mode, React + Tailwind」,技能会自动按工艺规则生成组件
从「每次都要口头解释一遍设计规则」到「一条命令产出符合规范的 UI」,Nothing Design Skill 把资深工业风产品设计师的直觉压缩成了可执行的 Token 表与组件清单。对前端同学来说,它同时也是一份免费的单色 UI 规范教材——即使不用 AI,光读这三份 references 就能把界面质感拉高一个档次。
【免费下载链接】nothing-design-skillA Claude Code skill for generating UI in the Nothing design language. Monochrome, typographic, industrial.项目地址: https://gitcode.com/gh_mirrors/no/nothing-design-skill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考