UI Design System
build dev

Avatar

表示用户、组织或对象身份。中文惯用名:头像。
稳定本期新增已接入

元信息

字段值
规范 IDcomponent.avatar
名称Avatar
二级分类通用(general)
用途表示用户、组织或对象身份
描述中文惯用名:头像。

预览

静态结构:Base UI Avatar.Root(data-slot="avatar",size-8 rounded-full overflow-hidden);src 存在时渲染 avatar-image(data-slot="avatar-image",size-full object-cover),fallback 存在时渲染 avatar-fallback(data-slot="avatar-fallback",bg-muted 居中弱化文本),图片加载中 / 失败由原语自动回落到 fallback;默认尺寸 size-8(32px),更大 / 更小经 className 覆盖;src 与 fallback 均缺省时只剩空容器。

DSL 结构

DslNode
{
  "type": "Avatar",
  "props": {
    "src": "https://i.pravatar.cc/64",
    "alt": "用户头像",
    "fallback": "张"
  }
}

何时用

何时使用

  • 表示用户、组织或对象身份:头部用户区、评论作者、成员列表、任务负责人。
  • 图片缺失或加载失败时的稳定占位:fallback 提供首字母 / 简称,避免布局跳动。
  • 需要与姓名并排的紧凑身份标识:配合 Flex 的 gap 排列。

何时不用

  • 单纯展示图片内容(封面、截图、插图):使用 Image。
  • 需要展示身份详情(姓名 + 角色 + 联系方式):用 Card、Descriptions 承接,Avatar 只做标识。
  • 需要可点击进入个人主页时,外层用 Button / Link 承载交互,Avatar 本身不承载。

变体

变体视觉形态适用场景
图片头像圆形裁切照片(object-cover)用户 / 组织有头像资源
文本兜底灰底居中首字母或简称无头像资源时的默认身份标识
加载失败回落自动切到 fallback(不出现破图)外链头像失效、内网资源不可达
自定义尺寸经 className 覆盖 size-8头部大号身份区 / 列表小号标识

API 属性

属性类型默认值说明
srcstring—图片地址
altstring—图片替代文本(缺省空字符串,纯装饰时不朗读)
fallbackstring—加载失败或缺省时的占位文本(如首字母)
className / stylestring / CSSProperties—通用:根节点 class 合并 / 内联样式(尺寸常在此覆盖)

使用规范

  • 同时给 src 与 fallback:只给 src 时网络失败会留下空位。
  • fallback 用姓名首字或对象简称,同一系统内规则统一(如统一取首字)。
  • 作为纯装饰时 alt 留空;承载身份语义时写清对象名称。
  • 头像尺寸跟随容器密度(8 的倍数),不逐处自定义奇数尺寸。

正例

  • ✓ Header 用户区:Avatar src + fallback 首字母,右侧并排用户名。
  • ✓ 成员列表:每行 Avatar 表示成员,小尺寸经 className 设定。

反例

  • ✕ 用 Avatar 展示文章封面图(应使用 Image)。
  • ✕ 不设 fallback 依赖外链头像可用(破图破坏布局与可信度)。

Design Token 映射

不适用:组件 tokenRefs 为空:样式 Token 数据尚未接入,三层映射(Primitive → Semantic → Component)待样式 Token 接入后回填。