发布时间:2026/9/2 9:09:30
Web字体排版终极指南:skills之better-typography从字体配对、字号刻度到断行截断全解 Web字体排版终极指南skills之better-typography从字体配对、字号刻度到断行截断全解【免费下载链接】skillsA collection of agent skills that help you build a great interface.项目地址: https://gitcode.com/gh_mirrors/skills50/skillsbetter-typography 是开源项目 skills一套帮你构建优秀界面的 AI 智能体技能集中专门负责Web 字体排版的技能覆盖字体选择与配对、字号刻度Type Scale、行高字距、断行与文本截断等实战主题。无论你是前端新手还是想提升页面观感的开发者读完本文就能掌握一套可直接落地、拿来即用的排版规则。 快速上手如何获得 better-typographyskills 项目把每个技能做成一组结构化的规则文档AI 智能体如 Claude Code、Codex在处理你的界面代码时会照着这些规则检查与修改排版。better-typography 的核心入口文件是 SKILL.md围绕它还配套了 6 个专题文档choosing-fonts.md字体选择、配对规则与文件格式spacing-and-sizing.md字号刻度、行高、字距wrapping-and-punctuation.md行宽、换行与截断variable-fonts-and-opentype.md可变字体与 OpenType 特性details-and-accessibility.md下划线、选中态、表单与移动端细节css-cheat-sheet.md所有排版 CSS 声明与 Tailwind 等价写法速查表获取仓库有两种方式git clone https://gitcode.com/gh_mirrors/skills50/skills或者用官方推荐的一键安装在 Claude Code、Codex 等智能体环境中npx skills add jakubkrehel/skills两种安装方式内容相同详见 README.md。 字体配对为什么少即是多better-typography 的第一原则是克制字体、字号、字重用得过快就会伤害可读性。核心配对规则如下类别特征适用场景衬线体 Serif笔画末端有小衬线引导视线沿行阅读长文阅读、编辑类内容无衬线 Sans-serif字形干净均匀小尺寸下依然清晰大多数界面的默认选择等宽体 Monospace每个字符等宽列天然对齐代码、表格、数据展示体 Display为大号标题设计营销页大标题、Hero 区域手写体 Script模仿手写少见的装饰性时刻三条黄金配对法则最多 3 种字体。字号和字重定义层级滥用它们会迅速拉低可读性。为对比而配对而非为相似。衬线标题 无衬线正文是刻意的展示/阅读分工两款几乎一样的无衬线体则像犯错了。细字重只用于大标题。小于18px的文字保持400及以上字重300以下的细体在正文尺寸下会消失仅限28px的展示性文字使用。另外Web 端字体文件统一用.woff2Brotli 压缩、兼容性最好.ttf/.otf只属于桌面端。完整依据见 choosing-fonts.md。 字号刻度建立你的 Type Scale不要随手写死字号。技能建议定义一组少量尺寸并尽可能少地偏离它——没有体系的硬编码尺寸规模一大就会失控。按角色命名的刻度是最推荐的做法。text-sm只告诉你尺寸而text-body-sm同时说明了用途团队协作时规则才不会失传。技能给出的产品界面起步参考角色字号行高字重Display 展示36px1.1600Title 标题24px1.2600Heading 小节标题18px1.3600Body 正文16px1.5400Caption 说明文字13px1.4400标题层级必须逐级递减把 h1/h2/h3 映射到刻度上从高到低的台阶如2xl → xl → lg任何子标题都不应视觉上压过父标题同角色内的强调用升一档字重400 → 500而不是改字号。行高与字距也有明确分工详见 spacing-and-sizing.md行高标题约1.1正文1.5–1.6优先用无单位数值让行高随字号缩放凡换行超过 3 行的文本行高至少1.4。字距大标题用轻微负值如-0.02em更紧凑小号全大写字母标签用正值如0.05em避免拥挤正文阅读尺寸则两者都不需要。✂️ 断行与截断文字不溢出的四个声明换行行为是这个技能最有手感的部分。四条声明四个职责声明作用text-wrap: balance让多行文字均匀分布用在标题上text-wrap: pretty避免最后一个词孤零零掉到末行用在描述文字上overflow-wrap: break-word长词、长链接、ID 在溢出容器前先断开white-space: nowrap标签、徽章等换行会看起来像坏掉的地方两个易错点长文long-form里不要用 balance/pretty浏览器超过几行也会忽略 balance还要给长文封顶行宽在每行 60–75 个字符用max-w-xl或65ch都行否则眼睛很难找到下一行的开头。截断不等于丢失内容。单行用text-overflow: ellipsis需搭配overflow: hiddenwhite-space: nowrap多行用line-clamp被藏起来的文字如果重要要通过 tooltip 或展开视图让用户拿回完整值。更多断行细节见 wrapping-and-punctuation.md。️ 进阶细节等宽数字、下划线与移动端输入框几个高频翻车点技能里都给出了标准解法会变化的数字用等宽数字。计时器、计数器、价格默认每个数字宽度不同数值更新时布局会抖动加font-variant-numeric: tabular-nums即可稳住。下划线交给字体自己。用text-underline-position: from-font和text-decoration-thickness: from-font从字体度量取值避免下划线切到字母下延部点状下划线是该词有额外信息的通用暗示。iOS 输入框保持 16px。小于 16px 的输入框文字会让 Safari 自动放大整个页面两种修复思路移动端放大字号 / 16px transform 缩放都收录在 details-and-accessibility.md。可变字体优先用标准属性。font-weight: 650优于裸写font-variation-settings: wght 650——标准属性在回退字体下依然生效裸写 axis 标签则静默失效可变字体与 OpenType 特性全解见 variable-fonts-and-opentype.md。字体平滑只写在根节点。macOS 上文字会比预期显得更粗在根布局统一加-webkit-font-smoothing: antialiased绝不要逐组件设置。所有声明与 Tailwind 等价类名的一行速查都在 css-cheat-sheet.md 里按字体 / 间距布局 / 换行溢出 / 装饰交互四组整理改样式时对照着查即可。✅ 收尾清单交付前的排版自查技能在 SKILL.md 末尾附了一张常见错误 → 修复对照表挑几条最高频的作为交付前自查项段落末行孤字 →text-wrap: pretty两行标题左右失衡 →text-wrap: balance细字重用在 14px 的 UI 文字上 → 小于 18px 一律 400下划线切到字母 →text-decoration-skip-ink: auto界面里出现两端对齐 → 改回text-align: startjustify 只留给特定编辑排版最后一条经验值得记住审阅排版时看渲染后的页面而不是扫代码——坏掉的换行、孤字和截断只有在真实内容长度下才会现形。这套技能与项目中 better-colors色彩与对比度、better-layout布局与对齐、better-accessibility无障碍与标题语义边界清晰、互为补充配合 better-interface 的跨领域总评审可以构成完整的一套界面打磨流程。【免费下载链接】skillsA collection of agent skills that help you build a great interface.项目地址: https://gitcode.com/gh_mirrors/skills50/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/9/2 9:09:30

迭代精修思维:为什么stitch-skills中编辑优于重新生成

迭代精修思维:为什么stitch-skills中编辑优于重新生成 【免费下载链接】stitch-skills A library of Agent Skills designed to work with the Stitch MCP server. Each skill follows the Agent Skills open standard, for compatibility with coding agents such …

2026/9/2 9:04:30

FreeCAD 参数化建模:从空白草图到交付只要一小时

FreeCAD 参数化建模:从空白草图到交付只要一小时 【免费下载链接】FreeCAD Official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. 项目地址: https://gitcode.com/GitHub_Trending/fr/FreeCAD FreeCAD 是一款免费、…

2026/9/2 9:04:30

工业级手写数字识别落地实战:从MNIST到真实场景

简介:本资源是一套面向深度学习初学者与教学实践者的MNIST手写数字识别系统完整实现方案,聚焦图像识别核心任务,适用于高校课程设计、AI入门实训及机器学习项目复现。压缩包共21个文件,含4个Python源码(含带Qt界面的交…

2026/9/2 9:24:33

AGV惯性导航与PGV传感器融合:实现高柔性无轨搬运的工程实践

简介:本资源是一套基于STM32F4平台实现的惯性导航AGV定位与运动控制系统完整工程,面向嵌入式开发工程师、智能车竞赛团队及机器人定位算法学习者,聚焦多传感器融合下的高精度实时位姿估计与Lyapunov稳定控制问题。压缩包含196个文件&#xff…

2026/9/2 9:24:33

基于Arduino的模型火箭推力矢量控制系统设计与实现

简介:本资源是一套面向电子工程与航天爱好者、高校自动化/测控专业学生的模型火箭智能飞行控制实践方案,聚焦推力矢量这一高阶飞行控制技术,解决传统模型火箭姿态不稳定、轨迹偏差大等实际问题。压缩包共18个文件(4.68MB&#xff…

2026/9/2 9:24:33

AI API代理使用风险解析:从Claude封号事件看工程化集成安全

最近,一个在开发者圈子里流传的消息引起了不少讨论:有用户因为使用 Claude 代理工具接入其他模型,导致其 Anthropic 账户被封禁。这听起来像是一个简单的“违规使用”案例,但背后折射出的,其实是当前 AI 应用生态中一个…

2026/9/2 9:24:33

Python比较运算符深度解析:从==与is区别到自定义对象比较

你是不是觉得Python的比较运算符很简单&#xff0c;不就是 、 ! 、 > 、 < 这些符号吗&#xff1f;很多初学者在学完基础语法后&#xff0c;都会产生这种错觉&#xff0c;认为比较运算无非就是“相等”或“大小”&#xff0c;看一眼就会了。 但现实是&#xff…

2026/9/2 9:24:33

PyTorch多模态情感分析工程落地实践

简介&#xff1a;本资源是一套面向人工智能初学者与多模态学习实践者的PyTorch开源项目&#xff0c;聚焦文本与图像双通道融合的情感分析任务&#xff0c;适用于高校课程设计、竞赛备赛及科研入门场景。压缩包共22个文件&#xff08;325KB&#xff09;&#xff0c;含7个核心Pyt…

2026/9/2 9:19:33

LLM化Linux:用自然语言命令行开启智能运维与知识库实践

你大概也遇到过这样的情况&#xff1a;刚装好 Linux&#xff0c;打开终端&#xff0c;看到的不是欢迎界面&#xff0c;而是一个闪烁的光标。你知道自己要做点什么&#xff0c;但“下一步”到底是apt还是yum&#xff0c;systemctl还是service&#xff0c;chmod 777到底能不能用&…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出&#xff0c;第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器&#xff0c;出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台&#xff0c;直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/2 9:00:32

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流&#xff1a;为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历&#xff1a;明明传感器本身性能很好&#xff0c;信号输出却一塌糊涂——噪声大、漂移明显、重复性差&#xff0c;怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/2 8:41:06

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起&#xff0c;其实就是嵌入式开发里最常遇到的一类需求&#xff1a;用一块不算贵的 MCU&#xff0c;同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控&#xff0c;主频…

2026/9/2 0:03:41

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机&#xff0c;Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/2 0:03:41

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

这次我们来看一个很实用的 DeepSeek 落地场景&#xff1a;用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务&#xff0c;标题写得很直白&#xff0c;但背后其实是一整套可以复用的技术流程&#xff1a;字幕解析、模型调用、批量…

2026/9/2 0:03:41

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

当你家里摆着一台天猫精灵&#xff0c;却总希望语音助手偶尔“不正经”一点&#xff0c;不用官方腔回答问题&#xff0c;而是张口就接几句搞笑段子&#xff0c;会是什么体验&#xff1f;我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱&#xff0c;而是直…

2026/9/2 1:15:22

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/2 1:15:22

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/2 1:15:20

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…