HomeStylesTemplates
StyleKit
风格库模板
  1. Home
  2. /Styles
  3. /Distill Style
风格目录/学术科普风

学术科普风

Distill Style

D
53/100较差

以 Distill.pub 为原型的学术科普设计语言:窄列 serif 正文承载论证,边注承载旁白,图表突破版心承载证据。适合科普博客、研究者主页与学术型作品集。

学术科普论文排版边注引用图表衬线正文研究者主页Distillserifacademic期刊
查看完整 Showcase →模板

适合场景

学术 / 科普 / 论文排版

设计重点

正文使用 font-serif 窄列 max-w-[42rem] mx-auto,行高 leading-[1.75]

注意事项

禁止任何渐变 bg-gradient-*(论文没有渐变,证据不需要滤镜)

Showcase 入口

Showcase 页面的实时预览,点击查看完整体验。

查看完整 Showcase →

配色方案

Primary

#1F2933

Secondary

#FFFFFF

Accent 1

#2A7AE2

Accent 2

#E4572E

Accent 3

#6B7280

Accent 4

#F3F4F6

AI 实现组件预览完成度导出工具评分与反馈

AI 实现文档

先复制硬性提示词,需要时再看设计规范

默认用硬性提示词让 AI 直接生成前端;Design Spec 用来理解、改写和审核风格;Creative Brief 用来早期探索方向。

硬性提示词

默认使用它:复制后追加具体需求,让 AI 直接生成一致、可落地的前端。

什么时候用

  • -要 AI 直接生成页面或组件
  • -需要多轮输出保持一致
  • -担心风格跑偏或变丑

怎么用

  • -复制完整提示词
  • -后面追加具体需求
  • -生成后按禁止项和状态规则检查
STYLEKIT_STYLE_REFERENCE
style_name: 学术科普风
style_slug: distill-style
style_source: /styles/distill-style

# Hard Prompt

## 什么时候用
当你希望 AI 严格按风格规则生成代码时使用。它是生产界面最稳的默认选择。

## 怎么用
- 把完整提示词复制到 ChatGPT、Claude、Cursor 或其他编码助手。
- 在提示词后追加具体产品、页面或组件需求。
- 生成后按禁止项和交互状态检查,确认没有风格漂移。

请严格遵守以下风格规则并保持一致性,禁止风格漂移。

## 执行要求

- 优先保证风格一致性,其次再做创意延展。
- 遇到冲突时以禁止项为最高优先级。
- 输出前自检:颜色、排版、间距、交互是否仍属于该风格。

## Style Rules

# Distill Style (学术科普风) Design System

> 以 Distill.pub 为原型的学术科普设计语言:窄列 serif 正文承载论证,边注承载旁白,图表突破版心承载证据。适合科普博客、研究者主页与学术型作品集。

## 核心理念

学术科普风是"论文排版的网页化":把期刊三百年攒下的排版严谨,翻译成网页原生的呼吸感。

核心理念:
- 论证优先:一切视觉决策服务于论证的可读与可信,装饰是噪音
- 窄列即尊重:正文列宽锁定约 42rem(65-75 字符),这是眼睛完成一次换行扫视的舒适极限
- 三层信息带宽:正文承载主线论证,边注承载旁白与出处,突破版心的图表承载证据
- 引用即链接:编号上标引用是学术写作的超链接原型,在网页上两者合一
- 色彩即语义:墨灰负责陈述,学术蓝只指向可点击与被引用之物,图表橙只强调数据

设计原则:
- 层级靠排版建立:字号、字重、间距和 hairline 细线完成全部层级,不借助色块与阴影
- 图表是一等公民:figure 允许突破正文列宽居中展开,配编号图注(图 1:)说明来源与结论
- 元信息仪式感:作者、机构、日期、DOI 组成 byline 信息块,hairline 分隔,像论文首页一样可信
- 表格用 booktabs 语法:上下粗横线加表头细线,无竖线无斑马纹
- 克制的交互:hover 只做下划线与浅灰底,转场不超过 200ms,禁止一切炫技动效

---

## Token 字典(精确 Class 映射)

### 边框
```
宽度: border
颜色: border-[#E5E7EB]
圆角: rounded-md
```

### 阴影
```
小:   shadow-sm
中:   shadow-sm
大:   shadow-sm
悬停: hover:shadow-sm
聚焦: focus:shadow-none
```

### 交互效果
```
悬停位移: undefined
过渡动画: transition-colors duration-150
按下状态: active:bg-[#E5E7EB]
```

### 字体
```
标题: font-serif font-semibold text-[#1F2933] tracking-tight
正文: font-serif text-[#1F2933] leading-[1.75]
```

### 字号
```
Hero:  text-3xl md:text-4xl lg:text-5xl
H1:    text-3xl md:text-4xl
H2:    text-2xl md:text-3xl
H3:    text-lg md:text-xl
正文:  text-base md:text-[1.0625rem]
小字:  text-sm
```

### 间距
```
Section: py-12 md:py-16
容器:    px-4 md:px-6
卡片:    p-5 md:p-6
```

---

## [FORBIDDEN] 绝对禁止

以下 class 在本风格中**绝对禁止使用**,生成时必须检查并避免:

### 禁止的 Class
- `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`

### 禁止的模式
- 匹配 `^rounded-(?:lg|xl|2xl|3xl|full)$`
- 匹配 `^shadow-(?:md|lg|xl|2xl|inner)$`
- 匹配 `^bg-gradient`

### 禁止原因
- `rounded-xl`: Distill Style caps radii at rounded-md; paper layouts prefer square corners
- `rounded-full`: Distill Style avoids pill shapes; hierarchy comes from typography, not geometry
- `shadow-lg`: Distill Style separates regions with hairlines, not elevation
- `bg-gradient-to-r`: Academic surfaces are flat white or #F3F4F6; gradients are forbidden

> WARNING: 如果你的代码中包含以上任何 class,必须立即替换。

---

## [REQUIRED] 必须包含

### 按钮必须包含
```
rounded-md
text-sm font-medium
transition-colors duration-150
```

### 卡片必须包含
```
bg-white
border border-[#E5E7EB]
rounded-md
```

### 输入框必须包含
```
bg-white
border border-[#E5E7EB]
rounded-md
focus:outline-none focus:border-[#2A7AE2] focus:ring-1 focus:ring-[#2A7AE2]/30
```

---

## [COMPARE] 错误 vs 正确对比

### 按钮

[WRONG] **错误示例**(使用了圆角和模糊阴影):
```html
<button class="rounded-lg shadow-lg bg-blue-500 text-white px-4 py-2 hover:bg-blue-600">
  点击我
</button>
```

[CORRECT] **正确示例**(使用硬边缘、无圆角、位移效果):
```html
<button class="rounded-md text-sm font-medium transition-colors duration-150 bg-[#ff006e] text-white px-4 py-2 md:px-6 md:py-3">
  点击我
</button>
```

### 卡片

[WRONG] **错误示例**(使用了渐变和圆角):
```html
<div class="rounded-xl shadow-2xl bg-gradient-to-r from-purple-500 to-pink-500 p-6">
  <h3 class="text-xl font-semibold">标题</h3>
</div>
```

[CORRECT] **正确示例**(纯色背景、硬边缘阴影):
```html
<div class="bg-white border border-[#E5E7EB] rounded-md p-5 md:p-6">
  <h3 class="font-serif font-semibold text-[#1F2933] tracking-tight text-lg md:text-xl">标题</h3>
</div>
```

### 输入框

[WRONG] **错误示例**(灰色边框、圆角):
```html
<input class="rounded-md border border-gray-300 px-3 py-2 focus:ring-2 focus:ring-blue-500" />
```

[CORRECT] **正确示例**(黑色粗边框、聚焦阴影):
```html
<input class="bg-white border border-[#E5E7EB] rounded-md focus:outline-none focus:border-[#2A7AE2] focus:ring-1 focus:ring-[#2A7AE2]/30 px-3 py-2 md:px-4 md:py-3" placeholder="请输入..." />
```

---

## [TEMPLATES] 页面骨架模板

使用以下模板生成页面,只需替换 `{PLACEHOLDER}` 部分:

### 导航栏骨架
```html
<nav class="bg-white border-b-2 md:border-b-4 border-black px-4 md:px-8 py-3 md:py-4">
  <div class="flex items-center justify-between max-w-6xl mx-auto">
    <a href="/" class="font-black text-xl md:text-2xl tracking-wider">
      {LOGO_TEXT}
    </a>
    <div class="flex gap-4 md:gap-8 font-mono text-sm md:text-base">
      {NAV_LINKS}
    </div>
  </div>
</nav>
```

### Hero 区块骨架
```html
<section class="min-h-[60vh] md:min-h-[80vh] flex items-center px-4 md:px-8 py-12 md:py-0 bg-{ACCENT_COLOR} border-b-2 md:border-b-4 border-black">
  <div class="max-w-4xl mx-auto">
    <h1 class="font-black text-4xl md:text-6xl lg:text-8xl leading-tight tracking-tight mb-4 md:mb-6">
      {HEADLINE}
    </h1>
    <p class="font-mono text-base md:text-xl max-w-xl mb-6 md:mb-8">
      {SUBHEADLINE}
    </p>
    <button class="bg-black text-white font-black px-6 py-3 md:px-8 md:py-4 border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px] transition-all text-sm md:text-base">
      {CTA_TEXT}
    </button>
  </div>
</section>
```

### 卡片网格骨架
```html
<section class="py-12 md:py-24 px-4 md:px-8">
  <div class="max-w-6xl mx-auto">
    <h2 class="font-black text-2xl md:text-4xl mb-8 md:mb-12">{SECTION_TITLE}</h2>
    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6">
      <!-- Card template - repeat for each card -->
      <div class="bg-white border-2 md:border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] md:shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] p-4 md:p-6 hover:shadow-[4px_4px_0px_0px_rgba(255,0,110,1)] md:hover:shadow-[8px_8px_0px_0px_rgba(255,0,110,1)] hover:-translate-y-1 transition-all">
        <h3 class="font-black text-lg md:text-xl mb-2">{CARD_TITLE}</h3>
        <p class="font-mono text-sm md:text-base text-gray-700">{CARD_DESCRIPTION}</p>
      </div>
    </div>
  </div>
</section>
```

### 页脚骨架
```html
<footer class="bg-black text-white py-12 md:py-16 px-4 md:px-8 border-t-2 md:border-t-4 border-black">
  <div class="max-w-6xl mx-auto">
    <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
      <div>
        <span class="font-black text-xl md:text-2xl">{LOGO_TEXT}</span>
        <p class="font-mono text-sm mt-4 text-gray-400">{TAGLINE}</p>
      </div>
      <div>
        <h4 class="font-black text-lg mb-4">{COLUMN_TITLE}</h4>
        <ul class="space-y-2 font-mono text-sm text-gray-400">
          {FOOTER_LINKS}
        </ul>
      </div>
    </div>
  </div>
</footer>
```

---

## [CHECKLIST] 生成后自检清单

**在输出代码前,必须逐项验证以下每一条。如有违反,立即修正后再输出:**

### 1. 圆角检查
- [ ] 搜索代码中的 `rounded-`
- [ ] 确认只有 `rounded-none` 或无圆角
- [ ] 如果发现 `rounded-lg`、`rounded-md` 等,替换为 `rounded-none`

### 2. 阴影检查
- [ ] 搜索代码中的 `shadow-`
- [ ] 确认只使用 `shadow-[Xpx_Xpx_0px_0px_rgba(...)]` 格式
- [ ] 如果发现 `shadow-lg`、`shadow-xl` 等,替换为正确格式

### 3. 边框检查
- [ ] 搜索代码中的 `border-`
- [ ] 确认边框颜色是 `border-black`
- [ ] 如果发现 `border-gray-*`、`border-slate-*`,替换为 `border-black`

### 4. 交互检查
- [ ] 所有按钮都有 `hover:shadow-none hover:translate-x-[2px] hover:translate-y-[2px]`
- [ ] 所有卡片都有 hover 效果(阴影变色或位移)
- [ ] 都包含 `transition-all`

### 5. 响应式检查
- [ ] 边框有 `border-2 md:border-4`
- [ ] 阴影有 `shadow-[4px...] md:shadow-[8px...]`
- [ ] 间距有 `p-4 md:p-6` 或类似的响应式值
- [ ] 字号有 `text-sm md:text-base` 或类似的响应式值

### 6. 字体检查
- [ ] 标题使用 `font-black`
- [ ] 正文使用 `font-mono`

> CRITICAL: **如果任何一项检查不通过,必须修正后重新生成代码。**

---

## [EXAMPLES] 示例 Prompt

### 1. 学术科普文章页

含狩野模型图、边注与参考文献的完整科普文章页

```
Build an academic explainer article page in Distill Style: journal masthead, serif title with an author byline block (authors, affiliations, date, DOI), an abstract, a narrow 42rem serif body with numbered superscript citations and margin sidenotes, one SVG figure of the Kano model (Must-be concave curve, One-dimensional straight line, Attractive convex curve with labeled axes) breaking the measure at max-w-4xl with a 'Fig. 1:' caption, a booktabs results table, and a numbered references footer.
```

### 2. 研究者个人主页

论文列表、研究方向与简历下载的学术主页

```
Create a researcher homepage in Distill Style: white background, serif name and one-line research statement, a hairline-divided meta row (affiliation, email, ORCID), a publications list where each entry shows serif title, gray sans venue metadata, and small [PDF] [BibTeX] [Code] links in academic blue, plus a selected-projects section with abstract cards and a references-style footer.
```

### 3. 学术型作品集

把项目当论文陈列的作品集:摘要、图表与引用式致谢

```
Design an academic portfolio in Distill Style: each project is presented like a paper with a serif title, an abstract paragraph in a narrow column, one wide figure with a numbered caption, tag badges styled like arXiv subject classes, and a credits line formatted as a citation. Keep hairline separators, blue reserved for links, and a booktabs skills table.
```

## 绝对禁止(匹配即拒绝)

以下模式一旦出现,视为风格违规——不找借口,直接重写。

- 任何渐变 bg-gradient-*(论文没有渐变,证据不需要滤镜)
- 重阴影:最多 shadow-sm,杜绝 shadow-lg/shadow-2xl 与彩色阴影
- 大圆角:最多 rounded-md,正文与图表容器优先直角
- 正文全宽铺满:正文列宽不得超过 42rem,全宽只属于突破版心的图表
- 多彩装饰与大面积色块:色彩只服务于信息,不服务于气氛
- sans-serif 正文:正文必须衬线,无衬线只用于 UI 控件标签与元信息
- 表格竖线与斑马纹底色(booktabs 的两条横线已经足够)

## 自检清单(交付前逐条确认)

如果任何一条不通过,说明风格漂移了——修改后再交付。

- [ ] 没有紫色到蓝色的渐变
- [ ] 没有使用 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 标题上面
- [ ] 禁止任何渐变 bg-gradient-*(论文没有渐变,证据不需要滤镜)
- [ ] 禁止重阴影:最多 shadow-sm,杜绝 shadow-lg/shadow-2xl 与彩色阴影
- [ ] 禁止大圆角:最多 rounded-md,正文与图表容器优先直角
- [ ] 禁止正文全宽铺满:正文列宽不得超过 42rem,全宽只属于突破版心的图表
- [ ] 禁止多彩装饰与大面积色块:色彩只服务于信息,不服务于气氛

在你的工作流里用它

把「学术科普风」接进你的 AI 编码工具

全部接入方式 →
shadcn

一行命令,把这个风格的主题装进现有 shadcn 项目。

bash
npx shadcn add https://www.stylekit.top/r/distill-style.json
CLI

不离开终端,直接拉取这个风格的主题。

bash
npx stylekit-cli add distill-style
MCP

让 Claude / Cursor / Windsurf 边写代码边应用「学术科普风」。

bash
npx stylekit-mcp

组件模板

组件预览

学术操作按钮

克制的主操作按钮,墨灰底、rounded-md、小字号,像期刊页上的下载入口

真实前端完成度

暗色、状态、动效与可访问性覆盖

这层检查这个风格是否已经具备真实网站常见的主题、状态反馈、键盘可访问性和性能约束。

总体覆盖

51%

Fallback 规则

暗色模式

0%

缺失

组件状态

79%

部分

动效规则

70%

部分

可访问性

70%

部分

性能代价

35%

通用

关键状态覆盖

light
悬停键盘焦点禁用加载中空状态错误成功

按钮

默认 / 悬停 / 键盘焦点 / 按下 / 禁用

输入框

默认 / 悬停 / 键盘焦点 / 禁用 / 错误

卡片

默认 / 悬停 / 键盘焦点 / 加载中 / 骨架屏

表单

默认 / 键盘焦点 / 禁用 / 加载中 / 错误

落地注意事项

  • 暗色模式需要使用语义 tokens,不要直接把浅色主题反相。
  • 组件至少要覆盖悬停、键盘焦点、禁用、加载、空状态、错误和成功反馈。
  • 可访问性需要检查对比度、键盘导航、44px 点击区域和 reduced-motion。
  • 性能上避免动画改变布局;重 blur/shadow 的风格要控制层数和滚动区域。
全局样式

全局 CSS

css
.distill-style-article {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #1F2933;
}
.distill-style-article p + p {
  margin-top: 1.25rem;
}
.distill-style-cite {
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.68em;
  font-weight: 600;
  vertical-align: super;
  line-height: 0;
  color: #2A7AE2;
  text-decoration: none;
  cursor: pointer;
}
.distill-style-cite:hover {
  text-decoration: underline;
}
.distill-style-sidenote {
  display: block;
  margin: 1rem 0;
  padding: 0.625rem 0.875rem;
  border-left: 2px solid rgba(42, 122, 226, 0.4);
  border-radius: 0.125rem;
  background: #F3F4F6;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #6B7280;
}
@media (min-width: 1280px) {
  .distill-style-sidenote {
    position: absolute;
    top: 0;
    right: -14rem;
    width: 12rem;
    margin: 0;
    padding: 0.5rem 0 0 0;
    border-left: none;
    border-top: 1px solid #E5E7EB;
    background: transparent;
    font-size: 0.75rem;
  }
}
.distill-style-figure {
  max-width: 56rem;
  margin: 2.5rem auto;
}
.distill-style-figcaption {
  margin-top: 0.75rem;
  padding-top: 0.5rem;
  border-top: 1px solid #E5E7EB;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #6B7280;
}
.distill-style-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid #1F2933;
  border-bottom: 2px solid #1F2933;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.875rem;
}
.distill-style-table thead th {
  border-bottom: 1px solid #1F2933;
  padding: 0.5rem 0.75rem;
  text-align: left;
  font-weight: 600;
  color: #1F2933;
}
.distill-style-table tbody td {
  padding: 0.5rem 0.75rem;
  color: #1F2933;
}
.distill-style-hairline {
  border: none;
  border-top: 1px solid #E5E7EB;
}
.distill-style-smallcaps {
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6B7280;
}

IDE 集成

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 合规分析。

53

综合评分

等级: D - 较差

对比度

分数: 42/100平均比率: 6.18:1
AA 未通过AAA 未通过
场景颜色比率AAAAA
Text on background
/#1F2933 / #ffffff
14.76:1
Secondary text on background
/#6B7280 / #ffffff
4.83:1
Muted text on background
/#9CA3AF / #ffffff
2.54:1
Text on secondary background
/#1F2933 / #F3F4F6
13.41:1
Secondary text on secondary
/#6B7280 / #F3F4F6
4.39:1
Button primary
/#ffffff / #1F2933
14.76:1
Text on accent 1
/#1F2933 / #2A7AE2
3.5:1
Alt text on accent 1
/#6B7280 / #2A7AE2
1.15:1
Text on accent 2
/#1F2933 / #E4572E
4.01:1
Alt text on accent 2
/#6B7280 / #E4572E
1.31:1
Text on accent 3
/#1F2933 / #F3F4F6
13.41:1
Alt text on accent 3
/#6B7280 / #F3F4F6
4.39:1
Text on accent 4
/#1F2933 / #1F2933
1:1
Alt text on accent 4
/#6B7280 / #1F2933
3.05:1

可读性

分数

77/100

字号

text-base md:text-[1.0625rem]

字重

font-serif font-semibold text-[#1F2933] tracking-tight

行高

default

评分基于 WCAG 2.1 标准。AA 级要求普通文本对比度 4.5:1、大文本 3:1;AAA 级要求普通文本 7:1、大文本 4.5:1。

StyleKit

精选网页设计风格库,帮助 AI 生成更好看的网站。

导航

风格库配色主题合集模板指南博客更新日志

资源

UI 设计提示词落地页提示词Dashboard 提示词Tailwind UI 提示词暗黑模式提示词GitHub 仓库

保持更新

订阅即表示您同意我们的 隐私政策 和 服务条款。


提意见

有想法、建议,或发现了问题?直接告诉我,意见会发到我邮箱。

提个建议

支持维护

如果 StyleKit 恰好帮到了你,欢迎扫码支持。金额随意,每一份心意我都很感谢。

扫码支持 / 查看全部方式

(c) 2026 StyleKit. 开源项目。

关于联系与支持隐私政策服务条款基于 Editorial 风格构建
StyleKit 前端样式库stylekit.top陕ICP备2025065501号-3