Avatar 更新日志
2026-09-21:统一使用文档、源码属性表与 Site / AI 阅读入口;仅文档修订,不改变组件行为。
v2.12.5 (2026-09-02)
根据现有源码补齐逐属性说明、默认回退和使用边界;未改变组件运行时行为。
v2.12.4 (2026-08-28)
新增
fallbackColor六种具名默认 Gradient 配色与fallbackSeed稳定身份映射;推荐传入user.id,相同 seed 跨刷新保持同色。默认配色优先级调整为显式颜色、稳定 seed、名称回退、固定
blue;完全匿名头像不再依赖组件实例 ID。
v2.12.3 (2026-08-15)
默认 Gradient hover 改为按需挂载四个模块缓存的预栅格 SVG 图层,不再创建运行时 filter DOM;活动 Gradient 同时继承共享视口暂停能力。
v2.12.2 (2026-08-15)
将 Avatar hover alpha 艺术色与 Gradient、GradientMotion 的画面艺术色分项登记;Avatar 自身的例外只拥有图片与普通组件 fallback 的六色 hover 染色。
v2.12.1 (2026-08-15)
登记默认 Gradient 与图片 / 普通组件头像 hover 六色为专业艺术色例外;边界以 StyleSpec §2.1.3 为准。
v2.12.0 (2026-08-06)
默认 Gradient fallback 常态不再为每个 Avatar 创建完整 Gradient 组件、实例 ID、hover 状态与响应式派生链,只渲染共享静态图。
hover 时按需挂载完整 Gradient 水波与五色 Overlay,退出 0.5 秒后回收;
gradientMotion继续显式常驻完整 Gradient。静态图使用原生 lazy loading、异步解码和低请求优先级,长表格只优先处理视口附近头像。
v2.11.1 (2026-08-03)
修复外部传入的 Badge / Icon 子内容被内部 Frame
children片段同名遮蔽、未进入 DOM 的问题。Avatar 根盒统一使用
vertical-align: middle,使empty、图片与 Gradient 头像在同一行保持一致的垂直位置。
v2.11.0 (2026-08-03)
默认 Gradient fallback 的四层水波改为七段非对称闭环路径,避免可见的 A→B→A 原路折返。
每次 hover 从六组相位 / 方向组合中随机选择且不重复上一组;不增加活动图层、filter 或逐帧 JavaScript。
v2.10.0 (2026-08-02)
默认 Gradient Avatar 常态继续使用缓存静态图,hover 时由 Gradient 按需淡入四层独立周期的水波形变;离开后释放实时 SVG 与 filter。
gradientMotion语义收窄为“是否常驻运行”,不再阻止默认 hover 的按需水波形变。
v2.9.1 (2026-08-02)
默认 Gradient fallback 的四层基础矢量形变改为关闭,新增
gradientMotion显式开启入口。Gradient 自有的认可版本五色 Overlay hover 不受基础形变开关影响。
v2.9.0 (2026-08-02)
根据认可版本的原始运行条件,默认 Gradient 头像恢复
.snowui-media-hoverable、.snowui-media-hoverable-has-visual与.snowui-media-hoverable-visual三层契约。Gradient 重新位于普通 visual 容器内并同时获得旧版
brightness(0.92)反馈;仍跳过 Avatar 当前的单色 alpha filter,图片、Logo 与其他 fallback 保持现状。
v2.8.0 (2026-08-02)
默认 Gradient fallback 改用专用直连渲染路径,不再经过普通
.snowui-avatar-visual与 Avatar SVG 单色滤镜合成层。Gradient 直接成为圆形裁切容器的视觉内容;Avatar 只负责尺寸、最外层裁切、hover 状态与 Badge,Gradient 自行管理 SVG、颜色顺序和双层 Overlay。
图片、Logo 与其他组件 fallback 继续使用 Avatar 原有 visual / alpha filter hover,不受此分支影响。
Avatar-Docs.2026-05-25 源码顶部历史更新日志已归档;后续新增变更统一写入本文档 更新日志,源码顶部只保留职责、当前关键架构与文档路径。
v2.7.0 (2026-08-02)
删除自动首字母生成;无显式图片 / fallback / fallbackText 时默认渲染按名称或实例 seed 分散配色的 Gradient。
新增
variant="empty",承接原灰色背景与用户图标空头像视觉。Avatar 单色随机 hover 改用 SVG flood + alpha composite,只染图片或普通组件实际绘制的非透明像素。
Gradient fallback 恢复自身多色循环,Avatar 对其跳过单色滤镜,避免双重叠加。
v2.6.0 (2026-08-02)
默认 hover 从五色双层持续循环简化为单层 Overlay;每次 pointer enter 随机六色之一,同一次 hover 内颜色固定。
每次 pointer enter 都独立从六种颜色中等概率抽取,同一次 hover 内颜色固定。
默认首字母、fallbackText 和用户图标提升到 Overlay 上方,避免文字与图标被染色。
删除十层 opacity 动画,只保留一个 0.5s opacity 过渡层。
v2.5.0 (2026-08-02)
将 Gradient avatar-image 专用 hover 完整迁移到 Avatar,作为所有 Avatar 视觉状态的默认 hover。
删除 Avatar 对共享 media-hoverable brightness / 背景加深分支的消费,避免双重反馈。
Avatar 自行管理随机五色、双层 Overlay、10s 循环、0.5s 入口缓冲、disabled 与 reduced-motion。
v2.4.19 (2026-06-10)
新功能
新增
fallback组件入口,支持将GradientMotion等视觉组件作为默认头像。新增
as="avatar-image"角色化组合说明,头像图片层可覆盖默认回退并保留 badge overlay。
v2.4.18 (2026-03-15)
修复
AV-Docs.1 统一代码头、文档头与 changelog 版本号为
v2.4.18。AV-Style.8 移除 Avatar 内部对
--snowui-frame-hover-image-override的定义,改为组件自身 hover 规则关闭背景叠加,并补齐模板data-disabled输出,保持禁用态选择器与模板同步。
v2.4.12 (2026-03-06)
调整
AV-Hover.1 恢复 Avatar 旧版 hover 视觉分层:图片模式压暗
.snowui-avatar-visual,首字母模式压暗.snowui-avatar-background,默认回退模式仅做背景色过渡。AV-Hover.2 保留
.snowui-hoverable语义,改用--snowui-avatar-hover-image-override的声明式覆写关闭默认 hover 叠加层。AV-Hover.3 所有 hover 规则统一排除禁用态,确保
disabled时无额外 hover 反馈。
v2.4.10 (2026-02-18)
调整
AV-Typography.1 组件内回退文本、首字母与根容器行高统一改为
line-height: 1,保留字号比例链路不变。AV-HTML.1 根节点样式变量改为按需注入:默认
container/text尺寸因子由组件 CSS 提供,不再在默认态输出内联style。
v2.4.8 (2026-02-13)
优化
AV-Style.6 微调角标比例:
DOT_SIZE_RATIO调整为0.28,DOT_BORDER_RATIO调整为0.1,确保视觉更紧凑。AV-Style.7 闭环比例计算:角标尺寸与切割中心、偏移量均通过比例常数动态计算,适配所有头像尺寸。
AV-Refactor.6 代码格式化:优化 CSS 锁定类声明格式。
v2.3.7 (2026-02-13)
修复
AV-Fix.13 定位并修复尺寸倍增根因:Avatar 尺寸链路中
--text-scale与--size-scale参与计算后导致放大。现通过归一化计算抵消全局系数影响。AV-Fix.14 保持纯 Token 实现前提下,确保
size与容器实际尺寸一致,并保留单一比例文字联动。
根因说明
--size基于em,而em又受组件font-size影响;同时--text与--size各自有全局 scale 系数。在 Avatar 旧链路中,容器尺寸会隐式叠乘全局系数,表现为约 3 倍放大。
v2.3.8 (2026-02-13)
修复
AV-Fix.15 定位到真实根因为样式优先级冲突:Avatar 根节点内联
style中的width/height(Level 6)覆盖了.snowui-avatar-lock-size(Level 4)归一化规则,导致锁定逻辑失效。调整为仅在内联样式输出组件变量,不再输出
width/height;宽高统一回到组件 CSS 规则计算,保证锁定类可生效并符合StyleSpec优先级体系。
v2.3.9 (2026-02-13)
修复
AV-Fix.16 修复
lock-size条件误判:仅当sizeRatio/avatarSizeRatio为有效数值时才跟随 scale,避免null/空值透传导致未加锁定类。AV-Fix.17 在锁定模式下同步锁定
min/max width/height,防止外部最小尺寸约束把头像容器撑大。
v2.3.10 (2026-02-13)
修复
AV-Fix.18 容器尺寸主链路由
--size(em)切换为归一化--text长度链路,避免em在复杂上下文中被额外 font-size 影响而出现倍增。AV-Fix.19 回退文字与首字母字号同步使用归一化
--text链路,继续保持与头像容器的单一比例(约 0.375)。
说明
当 Token 基准
--size以em定义时,理论上会受当前元素最终font-size影响;在存在外部样式或级联覆盖时,可能与预期比例发生偏移。当前实现仍属于纯 Token 方案(未引入 px 常量),但改用更稳定的归一化长度基准来保证 Avatar 容器语义尺寸稳定。
v2.4.0 (2026-02-13)
修复
AV-Fix.20 最终收敛到“固定尺寸语义 Token”方案:Avatar 容器尺寸改为
var(--size-fixed) * factor,文本改为var(--text-fixed) * factor。AV-Fix.21
tokens.css新增--size-fixed(4px)与--text-fixed(16px)作为组件内“绝对语义”基准,避免宿主页面修改html font-size时 Avatar 尺寸随之放大。
关键说明(为何此前纯 Token 链路无法稳定)
现有基础 Token
--size使用em,--text使用rem。当宿主页面存在根字号放大时,Avatar 的 16/20/24 等“固定像素语义”会被整体放大。因此,在不回退到组件内硬编码
px的前提下,需要在 Token 层提供“绝对语义基准”并由 Avatar 使用。
v2.4.1 (2026-02-13)
修复
AV-Fix.22 增加内联尺寸硬锁(仍基于 Token 变量):根节点内联输出
font-size/width/height/min/max,确保外部级联无法改写 Avatar 容器语义尺寸。
调试标记
根节点新增
data-avatar-version="2.4.1-inline-lock",用于确认页面是否加载到最新 Avatar 实现。
v2.4.2 (2026-02-13)
规范回归
AV-Refactor.3 移除临时调试用内联尺寸硬锁与版本标记,恢复为组件 CSS(Level 2/4)控制尺寸,符合
StyleSpec.md优先级规范。保留 Token 语义方案:容器与文字继续使用
tokens.css中的固定语义基准变量(--size-fixed/--text-fixed)进行计算。
v2.4.3 (2026-02-13)
规范修正
AV-Refactor.4 移除
--size-fixed/--text-fixed方案,回归标准 Token:--size/--text。继续保留归一化计算(抵消
--size-scale/--text-scale)与lock-size策略,确保尺寸稳定且符合StyleSpec。
v2.4.4 (2026-02-13)
规范修正
AV-Refactor.5 移除 Avatar 中对
--size-scale/--text-scale的直接计算,改为仅使用标准基准 Token--size/--text参与尺寸与字号计算。
v2.4.5 (2026-02-13)
修复
AV-Fix.23 调整 Avatar 角标上下文默认 dot 尺寸,使
<Badge as="badge" />在 Avatar 中与 Badge 单独使用的默认点尺寸保持一致,避免出现“Avatar 内点徽标尺寸偏差”。
v2.4.6 (2026-02-13)
修复
AV-Fix.24
Badge as="badge"在 Avatar 内改为按头像容器尺寸等比缩放:默认badgeSize由固定值改为containerSize * ratio。AV-Fix.25 同步调整 Avatar dot cutout 的遮罩半径与定位计算,确保缩放后徽标与切割位置保持一致。
v2.4.7 (2026-02-13)
修复
AV-Fix.26 恢复切割边框视觉粗细:将 dot 边框厚度改为随 dot 尺寸同比缩放,并沿用旧版粗细比例(
0.04 / 0.25 = 0.16)。AV-Fix.27
badgeStyle的 top/right inset 与 cutout 半径统一改为同一边框比例链路,避免大尺寸头像下边框显得过细。
v2.3.6 (2026-02-13)
重构
AV-Refactor.1 按需求回退到纯 Token 实现:移除
px尺寸变量,恢复width/height/font-size的 Token 计算链路。AV-Refactor.2 保持
size语义不变(控制头像容器尺寸)以及单一比例(约0.375)的文本联动。
v2.3.5 (2026-02-13)
修复
AV-Fix.12 进一步屏蔽全局缩放系数影响:Avatar 容器尺寸与回退文字尺寸统一改为
px变量驱动,避免--size-scale/--text-scale引发的倍数放大。比例保持: 容器与文字继续使用单一比例(约
0.375)联动,满足“近似比例”要求。
说明
在 SnowUI 里,
--size/--text是可被全局系数放大的 Token。如果主题或容器环境修改了--size-scale/--text-scale,纯 Token 映射会按设计同比放大。若业务要求 Avatar 尺寸始终等于传入
size(绝对像素),需要像当前方案一样走组件内绝对尺寸变量,或新增“不受全局 scale 影响”的专用 Token。
v2.3.4 (2026-02-13)
修复
AV-Fix.11 按排查策略先屏蔽 Scale:将 Avatar 容器宽高改为内联
style输出,阻断父级.snowui-scale对.snowui-avatar宽高的级联覆盖。规范说明: 内联样式仅用于
width/height动态尺寸,符合StyleSpec.md2.9 允许场景。
v2.3.3 (2026-02-13)
修复
AV-Fix.10 修复父级
Frame开启scale apply时 Avatar 被级联放大的问题:默认启用容器尺寸锁定,保持size语义稳定。兼容增强: 当显式传入
sizeRatio或avatarSizeRatio时,Avatar 允许跟随 Scale 链路。
v2.3.2 (2026-02-13)
修复
AV-Fix.8 修复头像容器尺寸异常放大(约 3x)问题:容器尺寸改为
size到 Token 因子的直接映射(size / 4)。AV-Fix.9 统一头像与文字的比例链路:内部文字/默认图标改为单一比例变量(约
0.375)驱动。语义澄清:
size明确表示头像容器尺寸,不等同于图片素材分辨率尺寸。
v2.3.1 (2026-02-13)
修复
AV-Fix.7 修正了 Token 联动下的比例系数计算错误,彻底解决了 3x 漂移顽疾。
规范适配: 移除内联
font-size: 1rem,改由 CSS 锚定以对齐StyleSpec.md2.9。
重构
Token 对齐: 全面回归
tokens.css体系。规范适配: 遵循
StyleSpec.md的权重、优先级与单位规范。锚点锁定: 修复 3x 漂移顽疾,通过
font-size: 1rem锚定em基准。比例优化: 调整内部比例为 32:12 (0.375)。
v2.2.0 (2026-02-12)
重构
支持等比缩放:锁定头像与文字比例为 0.625
规范单位使用:头像大小使用 em,文字大小使用 rem
移除硬编码 sizeMap
v2.1.25 (2026-02-05)
样式优化
AV-Style.5 默认头像 hover 仅背景过渡,图标不变色;图片模式滤镜仅在图片模式触发
v2.1.26 (2026-02-05)
架构重构
Size Context: 支持从
Frame上下文读取size。当未显式传入size属性时,将自动使用上下文尺寸。高分适配: 修正了资源组件(Resource Component)的尺寸传递逻辑,确保 3x 高清资源能根据实际显示尺寸正确加载。
v2.1.15 (2026-02-03)
修复
AV-Fix.6 移除跨组件内部变量写入,避免命名冲突
v2.1.14 (2026-02-03)
修复
AV-Fix.5 AvatarGroup 相关内部变量命名对齐 snowui 规范
v2.1.13 (2026-02-03)
修复
AV-Fix.4 仅在显式 size 时写入 AvatarGroup 尺寸变量,避免影响间距计算
v2.1.12 (2026-02-03)
修复
AV-Fix.3 修复 size 检测导致的运行时递归问题
v2.1.11 (2026-02-03)
新功能
AV-Feat.1 当未显式传入
size时,允许 AvatarGroup 的size作为默认尺寸
v2.1.10 (2026-02-03)
修复
AV-Fix.2 仅在存在样式时输出
style,避免空属性
v2.1.9 (2026-02-03)
修复
AV-Fix.1 尺寸映射改为使用
--size-*Token 变量
v2.1.8 (2026-02-03)
样式优化
AV-Style.4 首字母回退改为单字母,字号与默认图标一致,背景色来自次要色 token,文字使用 static white
v2.1.1 (2026-02-03)
样式优化
AV-Style.3 图片模式移除容器底色,Hover 仅作用图像
v2.1.0 (2026-02-03)
样式优化
AV-Style.2 Hover 改为图像亮度滤镜,适配不规则图形
v2.0.0 (2026-02-03)
破坏性变更
AV-Break.1 移除
variant/alt/fallback/delayMsProps,统一由内部规则与外部样式控制
样式优化
AV-Style.1 明确默认圆角为
50%,外部样式可覆盖
文档完善
AV-Doc.1 更新样式与行为说明以匹配新 API