Text / Heading 文字Text · Heading
Text 把字阶、颜色、省略这几件事收成属性;Heading 是带语义级别的标题,级别和大小可以分开选。两者都只是给元素加上 .ok-t-* 类名,不想用组件时直接写类名效果一样。
Text
字阶
body-l:导语,比正文大一档body:正文(默认)label:标签与按钮文字caption:说明、辅助信息micro · overlinemono:⌘K 240ms
颜色
neutral 是次要色;subtle 是三级色,对比度不足 4.5:1,不要用在需要读的文字上。状态色用的是各自的 -text 档,深浅主题下都够对比度。
default:跟随父级neutral:次要文字subtle:三级色,只用于装饰性文字accentsuccesswarningdangerinfo
省略
拖动滑块改变容器宽度。
单行省略:这是一段比较长的文字,容器放不下的时候末尾会变成省略号。
多行省略:这是一段更长的文字,最多显示两行。超过两行的部分会被截断,并在第二行的末尾加上省略号,适合卡片里的摘要。
渲染成别的元素
默认是 span。用 as 换成 p、strong、em、code 等;类型上只接受通用的 HTML 属性。
渲染成 strong、em 或者code 都可以。
Text 属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
variant | 'display' | 'h1' | 'h2' | 'h3' | 'body-l' | 'body' | 'label' | 'caption' | 'micro' | 'mono' | 'body' | 字体样式,对应 .ok-t-*。 |
as | ElementType | 'span' | 渲染成什么元素。 |
tone | 'default' | 'subtle' | 'neutral' | 'accent' | 'success' | 'warning' | 'danger' | 'info' | 'default' | 文字颜色。default 跟随父级。 |
truncate | boolean | false | 单行省略。 |
lineClamp | number | — | 多行省略的行数。 |
align | 'start' | 'center' | 'end' | — | 文字对齐。 |
Heading
level 决定渲染成 h1–h4,variant 决定视觉大小(默认跟随 level)。display、h1、h2 三档在窄屏上会按视口宽度缩小。
display
h1 的大小
h2(level 默认 2)
h3
h4
h3 的语义、h4 的大小
Heading 属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
level | 1 | 2 | 3 | 4 | 2 | 语义层级,渲染成 h1–h4。 |
variant | 'display' | 'h1' | 'h2' | 'h3' | 'h4' | — | 视觉大小;默认跟随 level。 |
tone | TextTone | 'default' | 同 Text。 |
truncate | boolean | false | 单行省略。 |
align | 'start' | 'center' | 'end' | — | 文字对齐。 |
无障碍
- 标题级别按文档结构选,不按大小选:每页一个
h1,往下逐级,不跳级。想要别的大小用variant。 - 被
truncate/lineClamp截掉的文字读屏仍然能读到;但看得见的用户读不到,重要信息不要放在可能被截掉的位置。 - 不要用
tone="subtle"写需要阅读的内容。