Joye Personal Blog

Back

布局 hierarchyvisual-designcss

信息层级,不必靠边框一层套一层

三层信息一层套一层的边框会很挤;字号、颜色、留白,或背景色的深浅同样能表达层级,而且更轻。

来源 ↗
views
✕ 三层嵌套边框
Atypica 研究任务
Q3 用户增长归因分析
01 数据采集完成
2.3s · 14,203 条记录
连接 CloudResearch API,鉴权成功
抓取 2026-07 用户会话样本
写入 cache/q3_raw.json(8.2MB)
02 建模分析进行中
进行中 · 第 2/3 批
拆分留存 / 流失 / 新增三组样本
运行归因模型 attribution_v3
等待 GPU 队列(RTX 5070 × 1)
03 生成报告等待
等待中
汇总关键指标与图表
生成中文 + 英文双语摘要

读者要先分辨三种边框的粗细和颜色,才能意会“这是层级、不是并列内容”——边框在替读者做本该由排版做的事。

✓ 字号 · 颜色 · 留白
Atypica 研究任务
Q3 用户增长归因分析
01 数据采集完成2.3s · 14,203 条记录
连接 CloudResearch API,鉴权成功
抓取 2026-07 用户会话样本
写入 cache/q3_raw.json(8.2MB)
02 建模分析进行中进行中 · 第 2/3 批
拆分留存 / 流失 / 新增三组样本
运行归因模型 attribution_v3
等待 GPU 队列(RTX 5070 × 1)
03 生成报告等待等待中
汇总关键指标与图表
生成中文 + 英文双语摘要

标题大而深、步骤中等、日志小而浅;边框数量为零,层级反而一眼可辨。

✓ 背景色差
Atypica 研究任务
Q3 用户增长归因分析
01 数据采集完成2.3s · 14,203 条记录
连接 CloudResearch API,鉴权成功
抓取 2026-07 用户会话样本
写入 cache/q3_raw.json(8.2MB)
02 建模分析进行中进行中 · 第 2/3 批
拆分留存 / 流失 / 新增三组样本
运行归因模型 attribution_v3
等待 GPU 队列(RTX 5070 × 1)
03 生成报告等待等待中
汇总关键指标与图表
生成中文 + 英文双语摘要

不画一条线:步骤块是任务色的低浓度、日志块浓度更高——颜色越浓,说明嵌套得越深。

01边框在暗示“这是一个独立区域”。三层嵌套边框,等于给读者三个不必要的视觉边界。
02字号、字重、颜色的深浅对比,同样能传达“谁是主、谁是次”,而且视线扫过去更轻。
03留白比边框更安静地分组:靠得近的是一组,留白大的地方,自然就是两组。
04背景色的浓淡也是一种层级信号:颜色越浓、越靠近观感“前景”,天然就读作“嵌套得更深”,不需要一条线来宣告。
同一份数据渲染三遍——内容完全一致,观感完全不同。

拆开看它怎么做到的#

去掉边框之后,层级是靠三条“坡度”撑起来的,都能量化:

  • 字号阶梯:标题 21px → 步骤 14.5px → 日志 12px。每一级明显小一档,眼睛顺着字号从大往小扫,就是从上层往下层走。
  • 颜色深浅:文字颜色分四档——ink(近黑)→ ink-soft(82% 不透明)→ muted(灰)→ faint(更浅的灰)。越次要的信息越浅,读者的注意力自动往深色那头去。
  • 背景浓度:正例 B 里,步骤块 = 把状态色按 7% 掺进背景,日志块 = 掺 13%。同一个色相,浓度翻倍,就读作“又深了一层”。(暗色模式下底色更暗,掺入比例相应提到 12% / 22%,观感才对得上。)

三条坡度叠加,哪怕一条边框都不画,三层结构依然一眼分明。

什么时候仍然该用边框#

不是说边框有罪。当两块内容真的是并列、需要清晰切分(比如表格单元、可点击的独立卡片),一条边框是最直接的表达。要避免的是用边框去表达“从属 / 嵌套”——那本该交给字号、留白和背景色。

出处#

这个观点来自 Adam Wathan 与 Steve Schoger 的 Refactoring UI —— 书里 “Use fewer borders”(少用边框) 一节:要区隔两块内容,除了边框,还可以用阴影、对比背景色,或者干脆多留一点白。这里把它放大到“三层嵌套”的场景,顺手做了明暗两套主题。