Popover 设计文档

气泡卡片,点击/悬停/聚焦触发元素时弹出富内容浮层。封装 Tooltip(对齐 Semi 继承链),支持标题、12 方位 position、SVG 箭头、间距、custom 完全受控与 condition 条件触发,浮层命令式定位。

← API 文档

使用建议

气泡卡片,点击/悬停/聚焦触发元素时弹出富内容浮层。封装 Tooltip(对齐 Semi 继承链),支持标题、12 方位 position、SVG 箭头、间距、custom 完全受控与 condition 条件触发,浮层命令式定位。

Accessibility

ARIA role:dialog | tooltip

  • role 派生:trigger=click/custom → dialog(承可交互富内容,aria-modal=false,有标题 aria-labelledby、无标题兜底 aria-label Popover.dialogLabel);hover/focus → tooltip
  • 触发元素在 dialog 模式承载 button 角色 + aria-haspopup=dialog / aria-expanded / aria-controls;tooltip 模式为纯 span + aria-describedby
  • click/custom 触发用 useDismiss 处理 Escape(closeOnEsc)与外部点击(onClickOutSide)关闭
  • dialog 模式 guardFocus 用 useFocusTrap 陷入焦点循环 Tab,关闭后 returnFocusOnClose 归还触发器
  • content 函数形态可将初始焦点落到 initialFocusRef 指定元素;condition=false 禁止一切自动触发(custom 不受影响)
  • 定位/触发/焦点/dismiss 复用 Tooltip(prefixCls=cd-popover 切换整套浮层类名前缀),对齐 Semi Popover extends Tooltip;箭头为 Popover 独立双 path SVG(描边+背景,8px),与 Tooltip 单 path 解耦

设计变量

变量默认值用法
--cd-color-popover-arrow-bg var(--cd-color-bg-3)箭头默认背景色
--cd-color-popover-arrow-border var(--cd-color-border)箭头描边颜色
--cd-color-popover-bg-default var(--cd-color-bg-3)默认背景色
--cd-color-popover-border-default var(--cd-color-border)默认描边颜色