字体
字体族、字号和字重,统一使用 font-* 形式。
本页内容
类
| 类 | 声明 |
|---|---|
font-<family> | font-family: var(--font-family-<family>); |
font-<size> | font-size: var(--font-size-<size>); |
font-<weight> | font-weight: var(--font-weight-<weight>); |
三个命名空间共享 font- 前缀,因此名称必须在三者之间保持唯一。同名定义出现在多个命名空间时,会报告 AMBIGUOUS_TOKEN,并且不生成 CSS。
值
字体族是按顺序尝试的回退列表,字号是 rem 长度,字重则是数值请求。像素换算假设根元素字号为 16px。实际呈现的字体和可用字重取决于页面加载的字体。
字体族
| 类 | 值 |
|---|---|
font-sans |
|
font-mono |
|
font-serif |
|
比较全部字体族
font-sansfont-monofont-serif字号
| 类 | 值 |
|---|---|
font-3xs | .5rem8px |
font-2xs | .625rem10px |
font-xs | .75rem12px |
font-sm | .875rem14px |
font-md | 1rem16px |
font-lg | 1.125rem18px |
font-xl | 1.25rem20px |
font-2xl | 1.5rem24px |
font-3xl | 2rem32px |
font-4xl | 2.25rem36px |
font-5xl | 2.5rem40px |
font-6xl | 3rem48px |
font-7xl | 3.75rem60px |
font-8xl | 4.5rem72px |
font-9xl | 6rem96px |
font-10xl | 8rem128px |
比较全部字号
font-3xsfont-2xsfont-xsfont-smfont-mdfont-lgfont-xlfont-2xlfont-3xlfont-4xlfont-5xlfont-6xlfont-7xlfont-8xlfont-9xlfont-10xl字重
| 类 | 值 |
|---|---|
font-thin | 100 |
font-extralight | 200 |
font-light | 300 |
font-regular | 400 |
font-medium | 500 |
font-semibold | 600 |
font-bold | 700 |
font-extrabold | 800 |
font-heavy | 900 |
比较全部字重
font-thinfont-extralightfont-lightfont-regularfont-mediumfont-semiboldfont-boldfont-extraboldfont-heavy共享一个前缀,属性各自独立
font-serif、font-4xl 和 font-semibold 分别设置 font-family、font-size 和 font-weight。由于设置不同属性,因此可以组合使用,但其中任何一个都不是完整的文本样式。
font 前缀可改变三个独立属性
每行都从 font-sans、font-2xl 和 font-regular 开始,结果只替换指定属性对应的类。实际呈现的字体取决于可用字体。
文字说明
- 基准文本使用 sans 字体族、1.5rem 大小和 400 字重,根元素字号为 16px。
- font-serif 行只改变 font-family。font-4xl 行只将 font-size 改为 2.25rem。font-semibold 行则只将 font-weight 改为 600。
- 每个结果都使用相同文本,并共享无单位的 line-height 1.5 以便阅读;这些 font 类本身不会设置 line-height。
- 示例使用实际的预设 CSS 和可用系统字体,并不表示字体族类会下载字体文件。
字号类让行高和字距由各自的声明或继承决定。如果三个度量都应来自同一组文本样式,请使用 text-<name>。无论哪种形式,字体族和字重都仍然独立。
字体族令牌只指定字体名称,不会下载字体。预设的 sans、mono 和 serif 字体栈,分别以可选的 --font-sans、--font-mono 和 --font-serif 钩子开头。加载字体和选择全站字体栈的方法,见文字排版指南。
自定义键必须在三个命名空间之间保持不同。如果 --font-family-brand 和 --font-size-brand 同时存在,font-brand 就会有歧义。(font-size:var(--font-size-brand)) 这类显式原生声明可以直接指定要使用的属性与变量。
用法
为标题设置较大的字号和中等字重,并为代码示例设置等宽字体族。
Release notes
Install the new version with npm i @master/css.
<h3 class="… font-2xl font-medium">Release notes</h3><p class="… font-sm">Install the new version with <code class="… font-mono font-xs">npm i @master/css</code>.</p>生成的 CSS
@layer theme { :root, :host { --font-family-mono: var(--font-mono, ui-monospace), SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --font-weight-medium: 500; --font-size-xs: .75rem; --font-size-sm: .875rem; --font-size-2xl: 1.5rem }}@layer utilities { .font-mono { font-family: var(--font-family-mono) } .font-2xl { font-size: var(--font-size-2xl) } .font-sm { font-size: var(--font-size-sm) } .font-xs { font-size: var(--font-size-xs) } .font-medium { font-weight: var(--font-weight-medium) }}自定义
每个命名空间接受自己的令牌:--font-family-display 创建 font-display,--font-size-hero 创建 font-hero。
@theme { --font-family-display: "Inter Display", var(--font-family-sans); --font-size-hero: 4rem;}生成的 CSS
@layer theme { :root, :host { --font-family-sans: var(--font-sans, ui-sans-serif), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" } :root, :host { --font-family-display: "Inter Display", var(--font-family-sans); --font-size-hero: 4rem }}@layer utilities { .font-display { font-family: var(--font-family-display) } .font-hero { font-size: var(--font-size-hero) }}
