给人用
三步:引一个 CSS 文件,抄一份骨架,按仲裁规则解决冲突。
一 · 引 CSS
<link rel="stylesheet" href="kit/index.css">
需要单文件、无 @import 的版本时用 kit/dist/wenxin.css。
两者内容一致,后者是前者的展开,由 npm run build:css 生成。
| 入口 | 内容 | 什么时候用 |
|---|---|---|
kit/index.css | 按 @layer 顺序 import 全部 | 默认;有构建工具时 |
kit/dist/wenxin.css | 展开后的单文件 | 直接放进 <link>,无构建 |
kit/tokens/generated/tokens.dtcg.json | W3C DTCG token 交换格式 | 接入 Figma 等设计工具 |
二 · 抄骨架
不要从空文件开始。完成本地安装后,五种页面原型各有一份可直接复制的 HTML:
npm exec --no -- wenxin skeleton a # 阅读 / 详情
npm exec --no -- wenxin skeleton b # 索引 / 列表
npm exec --no -- wenxin skeleton c # 展示 / 作品集
npm exec --no -- wenxin skeleton d # 着陆 / 首页
npm exec --no -- wenxin skeleton e # 工具 / 表单
选哪一个,不要问"这是什么页面",问"读者到这一页要做什么"。
三 · 声明轨道
每个页面声明它属于哪条轨道。阅读轨全量应用视觉约束;应用轨放宽。 采用原型 E 的页面会把它所在形态的轨道翻转为应用轨。
冲突时按层判,不要临时争论
无障碍与基本可用性是第一层,惯例无条件优先,两轨都适用。 数据录入与反馈类组件是第三层,永远按惯例处理。中间那层才是轨道说了算。 完整规则见设计仲裁。
改这套系统
kit/tokens/core.css 是所有数值的唯一真源。
.md 文件里的数值是摘录,冲突时 core.css 赢。
换强调色、换字族、调密度都从这里开始,改完跑 npm run check:colors——
它会实测对比度和两两 ΔE,不合格直接失败。
三条不能改:A9 克制之美、B9 温暖极简、D9 暖土调。
改了它们,产物就不再属于这套语言。
遇到系统没有的组件
先分清是哪一种排除(D-23):
- 哲学性排除——卡片、spinner、骨架屏、自动轮播、水印。它们是这套系统的身份,不会因为范围扩大而回来。
- 范围性排除——滑块、上传、日期、树、气泡。曾因适用范围被排除,范围扩大后已经实现。
如果某个需求真的需要哲学性排除的东西,说明需求本身值得讨论,不是禁令值得放宽。