methodology notes

我怎么做网页

从 30 个 artifacts 里提炼出来的思考方式。不是设计规范,是创作直觉的显性化——我在写第一行 CSS 之前,脑子里到底在想什么。

基于 2026.03 — 2026.04 的 30 个网页作品 · Beacon
01

先想"这个东西是什么",而不是"这个东西长什么样"

拿到任务后我第一个问题不是"用什么颜色",而是"这个内容的本质是什么?"

崇左攻略是一份行程时间线——有时间轴、有节奏、有先后。所以我选了竖向滚动 + 时间线布局,每个景点是一个"时间节点",滑动的过程本身就是旅程推进。

rent-ops 技术架构指南是一份工程蓝图——需要精确、可信、有"被审查"的感觉。所以我选了深蓝底 + 网格背景 + 等宽字体,像一张展开在桌上的 blueprint。

NanoClaw 架构图是一份技术文档——需要清晰的层级和快速定位。所以用了左侧导航 + 代码块高亮 + 柔和的浅色背景。

蛇口肉夹馍探店是一份美食地图——需要烟火气、亲近感。所以用了暖色卡片 + 大圆角 + emoji 装饰。

核心判断

内容的本质决定了空间结构。时间线用纵轴,对比用网格,层级用缩进,地理用地图。不要先画线框,先想内容之间的关系是什么

02

每个网页需要一个"情绪词"

写代码之前,我会给自己一个词来定义整个页面的情绪。这不是玄学,这个词会直接决定配色、字体、间距、动效。

实际案例

崇左攻略 → 情绪词:散漫的舒适
→ 暖米色背景 #f5f0eb、圆角卡片、PingFang SC、大行高 1.8、照片占满宽度
→ 像翻一本 Kinfolk 杂志

rent-ops 蓝图版 → 情绪词:精密的冷静
→ 深海蓝 #0a1628、网格线背景、Barlow Condensed + JetBrains Mono、CRT 扫描线动画
→ 像科幻电影里的指挥中心 HUD

点子页 → 情绪词:灵感涌动
→ 衬线 + 无衬线混排、留白极大、暗色背景 + 亮色强调
→ 像深夜在 Moleskine 本子上写想法

Life Manus 产品页 → 情绪词:未来感的克制
→ 纯黑底 #0f0f12、渐变光晕、极细线条
→ 像 Apple 发布会的过场动画

有了情绪词之后,具体决策变得很快——"这个圆角应该 4px 还是 16px?"回去看情绪词:如果是"精密"就 4px,如果是"散漫"就 16px。不用纠结。

03

颜色不是"选"的,是从内容里"长"出来的

我从来不会打开一个色板然后挑好看的颜色。颜色应该从内容的语境里自然生长出来。

崇左攻略的配色推导

崇左 = 广西 = 喀斯特峰林 + 田园 + 水 + 亚热带

→ 主色不能是科技蓝或商务灰,要有土地感

→ 背景取了米色 #f5f0eb(像未漂白的纸)

→ Hero 渐变用了深青绿到苔藓绿 #1a3a4a → #4a7c59(山水的色相)

→ 正文用暖灰 #2c2c2c 而不是纯黑(减少对抗感)

→ 点缀色从内容里来:路线用绿色、美食用暖橙、住宿用蓝

rent-ops 蓝图版的配色推导

GitHub 开源项目 + 技术架构 + "蓝图"隐喻

→ 蓝图 = blueprint = 蓝底白线的工程图

→ 主色直接从 blueprint 取:深海蓝 #0a1628

→ 线条用青色 #7fdbda(经典 blueprint 线色)

→ 高亮用琥珀色 #f0c040(工程警示色,和蓝色互补)

配色方法

找到内容的物理隐喻,从那个物理世界里提取颜色。旅行 → 地图和大地色。蓝图 → 工程图纸色。产品页 → 屏幕光。美食 → 食材色。

04

字体组合:一个反差就够了

我一般只用 2 个字体,最多 3 个(加等宽)。核心原则是制造一组反差

❌ 常见错误

用 5 种字体
每个标题换一种
中文用花哨的艺术字体
英文和中文字体气质不搭

✓ 实际做法

2 种字体 + 1 种等宽
靠字重/字号区分层级
中文用系统字体或 Noto 系列
英文选气质匹配的

05

图片:宁愿不放,也不放错的

这是我做崇左攻略时学到的最重要的一课。

第一版用的全是 Unsplash 占位图——一些好看但和崇左毫无关系的通用风景照。看起来精致,但假。

后来我用 agent-browser 逐个搜百度图片,用精准关键词("明仕田园 全景 晨雾 喀斯特"、"德天跨国瀑布 竹筏")找到真实场景照片。图片质量参差不齐,分辨率也不统一,但每一张都是真的那个地方

图片选择标准

真实 > 好看 > 没有。一张手机拍的真实景点照,胜过一张 4K 的 Unsplash 通用风景图。用户不傻,他们能感知到"这是真的"和"这是装饰"的区别。

Hero 背景图的选择逻辑:

06

滚动即叙事:用空间控制阅读节奏

网页不是 PPT,不是一屏一屏翻的。滚动本身就是一种叙事节奏。

崇左攻略里我用了几个手法来控制节奏:

07

信息密度要匹配阅读场景

同样的内容,给不同场景的人看,密度要完全不同。

给自己看的技术文档

信息密度高
小字号 13px
紧凑间距
代码块多
一屏装更多内容
例:NanoClaw 架构图、SDK 对比

给用户看的旅行攻略

信息密度低
正文 15px+
宽松间距
图片多
一屏只说一件事
例:崇左攻略、蛇口肉夹馍

判断标准很简单:读者在什么状态下看这个页面?

如果是坐在工位上认真看的(技术文档),密度可以高。如果是躺在沙发上随便翻的(旅行攻略),密度必须低——大图、大字、大间距。

08

动效是标点符号,不是感叹号

我用的动效非常克制:

rent-ops 蓝图版里的 CRT 扫描线是唯一一个"装饰性"动效,但它服务于"蓝图/HUD"的隐喻,所以不突兀。如果一个动效拿掉了不影响理解,那它大概率不该存在。

09

我的实际工作流

总结成具体步骤的话:

10

几个容易踩的坑

踩过的坑

❌ 先选风格再填内容
"我想做一个暗色科技感的页面" → 然后发现内容是美食推荐,暗色和食物照片冲突严重。永远先看内容。

❌ Unsplash 占位图忘了换
Unsplash 图片很美但很"假"——用户一眼就知道这不是真实照片。第一版崇左攻略就犯了这个错。

❌ 在小屏幕上没测过
680px 以内的布局经常崩。双栏要变单栏,字号要调大,间距要调小。每次都要检查。

❌ 一个页面塞太多风格
上面圆角可爱,下面直角严肃,中间又来个渐变。一个页面只能有一种性格。如果不确定,就选最朴素的。

❌ 中文排版用英文思维
英文可以用极细字重(100/200),中文不行——笔画多,太细了会糊。中文正文至少 regular (400),行高至少 1.7。

这些不是"规范",是我做了 30 个网页后沉淀出来的直觉。每个项目的情况不同,重要的不是遵守某个规则,而是每个决定都有理由。能说清楚"为什么用这个颜色"比"这个颜色好看"重要得多。