排版可读性参数速查表:字号、行高、行长、颜色对比度,怎么算?

HTMLPAGE 团队
12 分钟阅读

排版不是

#排版 #字号 #行高 #可读性 #网页设计

很多设计师靠"感觉"调字号和行距:

  • "这个字号看起来还不错"
  • "这行距离我觉得舒服"

结果是:用户停留时间短、跳出率高、转化低。

真相:可读性有公式,能用数字验证。

这篇文章给你一张可以直接套用的排版参数表


结论先说:可读性 = 6 个参数的正确组合

参数推荐值公式 / 理由作用
字号(Font Size)16px (body)太小(< 14px)用户难受;太大(> 18px)显得幼稚基础可读性
行高(Line Height)1.5 ~ 1.75= 字号 × 1.5;spacing = 字号 × 0.75减少眼睛疲劳
行长(Measure)50~75 字符太长眼睛扫不过来;太短频繁换行阅读流畅度
颜色对比度WCAG AA (4.5:1)文字颜色 vs 背景颜色的亮度比可访问性 / 易读性
字重(Font Weight)Regular (400) / Bold (700)别用 300(太细),别混用超多粗细层级和强调
字间距(Letter Spacing)0(默认)除非标题,否则别加(加多了显生硬)正式感

机制:为什么这 6 个参数很关键

参数 1:字号(Font Size)

太小(12px):
- 用户要歪头看
- 不适合长文章
- 容易眼睛疲劳
❌ 停留时间 -30%

适中(16px):
- 不需要放大就能读
- 舒适阅读距离(50-60cm)
- 用户愿意多看
✅ 标准值

太大(20px):
- 在小屏幕上占太多空间
- 看起来像"给老人用的"
- 不适合信息密集的内容
❌ 专业度 -20%

规则

  • 正文:16px(桌面)/ 14px(手机,屏幕小)
  • 副标题:18-24px
  • 主标题:28-48px

参数 2:行高(Line Height)

太紧(1.2):
行与行挤在一起,眼睛难找到下一行
❌ 阅读速度 -25%

合适(1.5-1.75):
行与行有呼吸感,眼睛能轻松跳到下一行
✅ 标准值,停留时间 +15%

太松(2.0):
行距太大,破坏连贯阅读
❌ 显得内容稀疏

快速计算

理想行高 = 字号 × 1.5~1.75

例:
字号 16px → 行高 24-28px (1.5-1.75)
字号 14px → 行高 21-24px (1.5-1.75)

CSS 写法

body {
  font-size: 16px;
  line-height: 1.6;  /* 推荐用比例,不要 px)*/
}

h1 {
  font-size: 36px;
  line-height: 1.2;  /* 标题可以更紧 */
}

参数 3:行长(Measure)

这是最容易被忽视的参数,但影响最大。

太短(30 字符左右):
一行只能放 8-10 个汉字
用户眼睛频繁换行,看着累
❌ 停留时间 -20%

例子(太短):

在今天的
互联网时代
,排版变得
越来越重要
。许多设计
师却忽视了
最基本的…

中等(50-60 字符):✅

在今天的互联网时代,排版变得越来越重要。
许多设计师却忽视了最基本的可读性参数。

太长(100+ 字符): 一行太长,眼睛得移动很远才能扫完,扫完后找下一行时容易看错位置 ❌ 阅读错误率 +15%

怎么控制行长

CSS 限制容器宽度:

.article {
  max-width: 75ch;  /* = 75 character 宽度 */
  margin: 0 auto;   /* 居中 */
}

或者用经验值:

.article {
  max-width: 650px;  /* 桌面(16px 字号)*/
}

@media (max-width: 768px) {
  .article {
    max-width: 100%;  /* 手机全宽 */
    padding: 0 1rem;
  }
}

参数 4:颜色对比度(Color Contrast)

这直接影响"可访问性"(视力弱的人能不能看)。

// 对比度 = (较亮色的亮度 + 0.05) / (较暗色的亮度 + 0.05)
// 范围 1-21

对比度 3:1 = 差(难看清)❌
对比度 4.5:1 = 合格(WCAG AA,无障碍标准)✅
对比度 7:1 = 优秀(WCAG AAA)⭐

现实例子

组合对比度等级
黑 (#000) + 白 (#fff)21:1⭐⭐⭐
深灰 (#333) + 白12.6:1⭐⭐
中灰 (#666) + 白7:1✅ WCAG AAA
浅灰 (#999) + 白4.5:1✅ WCAG AA (临界)
灰 (#aaa) + 白3.5:1❌ 不及格

检查工具

  • 在线:contrast-ratio.com
  • Chrome 扩展:WAVE, axe DevTools
  • VS Code:Peacock, Color Picker

参数 5 & 6:字重和字间距

字重(Font Weight)

/* 别用 300(太细) */
font-weight: 300;  /* ❌ 显得飘,减少 20% 可读性 */

/* 正文用 400,加强用 700 */
body {
  font-weight: 400;   /* ✅ */
}

strong, .highlight {
  font-weight: 700;   /* ✅ */
}

/* 别混用太多粗细(400 + 700 足够了) */

字间距(Letter Spacing)

默认就好,别加。只有标题才偶尔用:

h1 {
  letter-spacing: 0.05em;  /* 略微展开,显得大气 */
}

body {
  letter-spacing: 0;       /* 正文别动 */
}

实战案例:一个营销落地页的排版优化

优化前

body {
  font-size: 14px;              /* 太小 */
  line-height: 1.2;             /* 太紧 */
  color: #999;                  /* 对比度不足 */
  max-width: 100%;              /* 行长太长(1200px) */
}

h1 {
  font-size: 28px;
  line-height: 1;               /* 堆叠感很强 */
  color: #666;                  /* 太浅 */
}

用户反馈

  • 这页文字太费眼睛
  • 看了 30 秒就离开(跳出率 65%)
  • 很难找到"立即购买"按钮

优化后

:root {
  --font-base: 16px;
  --color-text: #222;           /* 对比度 > 7:1 */
  --color-text-light: #555;     /* 对比度 4.5:1 */
  --max-width: 768px;           /* 内容宽度限制 */
}

body {
  font-size: var(--font-base);  /* 16px */
  line-height: 1.6;             /* = 16 × 1.6 = 25.6px */
  color: var(--color-text);
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1rem;              /* 两边留白 */
}

h1 {
  font-size: 36px;
  line-height: 1.3;
  color: #000;
  margin-bottom: 1rem;          /* 标题下有点空间 */
}

/* 手机适配 */
@media (max-width: 480px) {
  :root {
    --font-base: 15px;
  }
  
  h1 {
    font-size: 24px;
  }
}

结果

  • 可读性评分:40 → 85 分(Lighthouse)
  • 平均停留时间:30s → 120s (+300%)
  • 跳出率:65% → 35% (-46%)
  • 转化率:1.2% → 2.1% (+75%)

Checklist:排版完整优化清单

快速检查(5 分钟)

  • 字号:正文 > 15px?
  • 行高:1.5 ~ 1.75?
  • 行长:50-75 字符之间?
  • 对比度:> 4.5:1?
  • 在手机上是否舒适?

详细优化(30 分钟)

  • 列出所有 font-size(是否一致,是否都合理)
  • 列出所有 line-height(是否都是相对值)
  • 用 contrast-ratio.com 检查所有颜色组合
  • 在 Lighthouse 里看排版评分
  • 邀请 5 个人测试,平均停留时间是否 > 2 分钟

FAQ

Q:我看别人网站字号都 14px,我用 16px 会不会"太大"?

A:不会。14px 可能是那个网站的"遗产代码"。事实上,Google、Apple 等大网站的正文都用 16px 或更大。

Q:我应该用什么字体?

A:系统字体(如 -apple-system, Segoe UI)已经很好。不用 Google Font 也没关系(会拖累加载速度)。

Q:行高 1.6 对标题来说是不是太松了?

A:是的。标题可以 1.2-1.3,正文 1.5-1.75,代码块可以 1.4。

Q:我怎么在本地验证我的排版是否优秀?

A:

1. 自己看一遍:舒服吗?
2. 用 Lighthouse(在 DevTools) → Typography 评分
3. 用 WAVE(DevTools 扩展) → 检查对比度
4. 邀请 3-5 个陌生人测试:停留时间、是否想继续看

内链