为什么medium.css读起来像Medium?Lora、Montserrat与Playfair Display三大字体密码解析

发布时间:2026/10/14 16:04:03

为什么medium.css读起来像Medium?Lora、Montserrat与Playfair Display三大字体密码解析 为什么medium.css读起来像MediumLora、Montserrat与Playfair Display三大字体密码解析【免费下载链接】medium.cssCompact typography for the web项目地址: https://gitcode.com/gh_mirrors/me/medium.cssmedium.css是一个极简的 Web 排版样式表用一份不到 100 行的 CSS 文件就能让普通网页拥有 Medium.com 那样舒适的阅读体验。它的秘诀在于精准复刻了 Medium 的三大字体搭配正文用衬线字体Lora、界面元素用无衬线字体Montserrat、标题与引用用高对比度的Playfair Display。无论你是内容型博客作者还是想让文档「看起来就值钱」的开发者这份 Medium 排版指南都能帮你在 1 分钟内搞定字体与间距的「黄金比例」。上图正是 medium.css 的实战效果衬线大标题 首字下沉 衬线正文一眼就有「Medium 味」。一个 CSS 文件复刻 Medium 的「高级感」medium.css 的定位非常克制它不是一整套 UI 框架而是一套只为阅读而生的排版基线只覆盖最核心的 HTML 元素覆盖元素效果h1/h2标题层级品牌感拉满p/i/a正文、斜体、链接blockquote大号斜体引用块code/mark行内代码、高亮文本.first-letter/.subtitle/.highlighted首字下沉、副标题、荧光高亮作者 Luca Gesmundo 的出发点很实在做内容站时总在为「怎么排版才不难看」而纠结于是直接拆解了排版标杆 Medium 的规则提炼成这份可直接套用的起点。相关说明见 README.md 中的Why与Usage小节。三大字体密码内容、UI、品牌各归其位medium.css 的核心思想是一套好排版需要三把「钥匙」分别打开内容、界面、品牌三个场景的门。这也是 demo/src/main.pug 中「The hero」一节的观点。角色字体字族使用位置内容字体 ContentLora衬线 serif正文p、斜体i、链接aUI 字体Montserrat无衬线 sans-serif章节标题h2、副标题等界面元素品牌字体 BrandPlayfair Display衬线 serif大标题h1、引用块blockquote、首字下沉为什么是这三款Lora是为屏幕阅读设计的衬线体笔画的「衬脚」能牵引视线顺畅地滑向下一个词长时间阅读不累Montserrat是干净的无衬线体和衬线正文形成强对比负责结构标题、元信息不打扰阅读Playfair Display拥有极深的粗细对比high-contrast自带「杂志封面」气质专用于品牌曝光点——大标题、引用、首字。一个隐藏细节README 中声明 UI 字体为 Montserrat但发布的 medium.css 实际引入的是LatoLato:400,700。两者字形风格接近Lato 笔画更轻盈用在 26px 的h2上更不「抢戏」。这就是官方选型的实用主义。逐条拆解三大字体是如何被调教的光有字体还不够medium.css 对每种字体都做了精细的「参数调校」这才是读感的关键1️⃣ 大标题Playfair Display48pxh1 { font-family: Playfair Display, serif; font-size: 48px; margin-bottom: 8px; }对应 medium.css。高对比衬线 大字号标题一出现就有「封面感」。2️⃣ 章节标题无衬线 26px 负字距h2 { font-size: 26px; font-weight: 700; line-height: 34.5px; letter-spacing: -0.45px; }对应 medium.css。letter-spacing: -0.45px让标题字母略微「挤」在一起显得紧凑有力。3️⃣ 正文Lora 21px1.58 倍行高p, i, a { font-family: Lora; font-size: 21px; letter-spacing: -0.03px; line-height: 1.58; }对应 medium.css。1.58是 Medium 的招牌行高——两行文字之间几乎空出半行长文也不压抑而-0.03px的负字距让单词更抱团。4️⃣ 引用块斜体 Playfair Display字号提到 30pxblockquote { font-family: Playfair Display, serif; font-size: 30px; font-style: italic; color: rgba(0, 0, 0, 0.68); padding: 0 0 0 50px; }对应 medium.css。引用块用品牌字体斜体放大并且颜色比正文更浅形成视觉「停顿点」。5️⃣ 首字下沉60px 的 Playfair Display 大写字母.first-letter类用 60px、60px 行高的 Playfair Display 字母左浮动恰好横跨两行正文对应 medium.css。旧式书籍排版「首字下沉」的仪式感被一行 CSS 复现了。另外两个小彩蛋.highlighted/mark用荧光绿#7DFFB3做荧光笔效果medium.css::selection选中文本时显示淡紫色 lavendermedium.css——细节处全是 Medium 的味道。三条「看不见」的排版铁律字体之外medium.css 还内置了三条让页面「看起来贵」的隐形规则文字不是纯黑正文统一用rgba(0, 0, 0, 0.84)medium.css比纯黑柔和眼睛更放松行宽不超过 740px演示布局中正文列宽固定 740pxdemo/src/medium_extended.css避免视线左右奔跑色彩分层正文 84% 黑、副标题 54% 黑、引用 68% 黑用透明度制造层级而不是靠字号堆砌。1 分钟上手medium.css 安装步骤方式一npm 安装npm install --save medium.css方式二直接引入文件不使用打包工具时下载 medium.css 在 HTML 中链接即可。本地跑 Demo 看看效果git clone https://gitcode.com/gh_mirrors/me/medium.css cd medium.css/demo npm install npm start演示页面源码在 demo/src/main.pug完整布局版样式表见 demo/src/medium_extended.css。小结medium.css 用「Lora 管阅读、Montserrat 管结构、Playfair Display 管品牌」的三字体分工加上 1.58 行高、84% 黑、740px 行宽这三组隐形参数把 Medium 的阅读体验压缩进了一份轻量 CSS。如果你的博客、文档站还在为排版发愁不妨把它当作字体搭配的起点再按自己的品牌色微调highlighted与selection两个颜色即可。✍️【免费下载链接】medium.cssCompact typography for the web项目地址: https://gitcode.com/gh_mirrors/me/medium.css创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/13 2:53:55

函数设计四大核心特性:从内置函数到模板重载的工程实践

1. 项目概述:从“能用”到“好用”的函数设计哲学 在编程世界里,函数是我们最亲密的伙伴。从新手写下的第一个“Hello, World”打印函数,到资深工程师构建的复杂业务逻辑,函数贯穿始终。但你是否曾想过,为什么有些代码…

2026/10/6 21:05:06

企业招聘困境解析与高效招聘策略

1. 招聘困境的本质解析"招不到人"这个表面现象背后,实际上是企业需求与市场供给的结构性错配。根据我十年人力资源咨询经验,企业招聘漏斗从职位发布到offer接受的转化率通常不足15%,而其中真正能通过试用期的可能只有30%。这意味着…

2026/10/14 16:00:31

医院网络安全建设规划:从资产梳理到主动防御

简介:《医院网络安全建设规划》是一份针对医疗机构信息安全整体规划的完整方案文档,适合医院信息科人员、网络安全工程师及医疗信息化项目管理者参考。内容依据等级保护基本要求,围绕设计原则、网络结构分析、业务系统分析、等保建设流程及安…

2026/10/14 16:00:31

波士顿房价数据集:线性回归教学与TensorFlow底层实践指南

1. 为什么波士顿房价数据集至今仍是回归教学的“黄金标尺”你打开任何一本机器学习入门教材,翻到线性回归章节,十有八九会看到一个叫“Boston Housing”的数据集。它只有506行样本、13个特征,连现代GPU显存都填不满——可为什么十多年过去&am…

2026/10/14 16:00:31

《敏捷实践指南》是 PMI 与敏捷联盟合作开发的实践标准,旨在帮助从业者理解“何时、何地、如何”应用敏捷与混合方法

《敏捷实践指南》是 PMI 与敏捷联盟合作开发的实践标准,旨在帮助从业者理解“何时、何地、如何”应用敏捷与混合方法。全书围绕七个章节展开,从思维模式到生命周期选择,再到团队交付与组织变革,形成了一条从“认知”到“行动”的完…

2026/10/14 15:55:28

MTBF计算书怎么写:从失效率模型到元器件计数法的完整指南

简介:一份MTBF计算书示例,源自常州智电电子有限公司实际项目,面向可靠性工程师、电子硬件设计及质量管理岗位,系统展示了平均故障间隔时间(MTBF)的完整测算流程。资源为单个PDF文档,体积仅187KB…

2026/10/14 11:31:03

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/13 17:09:18

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/14 2:32:55

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/14 0:00:33

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:33

macOS/iOS高精度计时:mach_absolute_time原理与实战

1. 项目概述:为什么mach_absolute_time是 macOS/iOS 时间测量的“黄金标准”在 macOS 和 iOS 开发中,我见过太多人用CFAbsoluteTimeGetCurrent()或NSDate.timeIntervalSinceReferenceDate做性能打点,结果在高精度场景下被系统时钟跳变、NTP 同…

2026/10/14 0:00:33

SCORM课件演示与测试全解析:从API通信到自动化验证

简介:这是一套遵循SCORM标准的交互式课件演示与测试资源,面向E-Learning课程开发者、LMS平台测试人员及在线教学从业者,用于验证课件在不同学习管理系统中的识别、传递与跟踪能力。压缩包共28个文件,约12.07MB,以swf动…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑