组件 · 浮层 · 原生 HTML 与 React
说明浮层 Popover
点开的说明或小表单:比 tooltip 能放更多,比对话框轻。
演示
主色会被自动提亮或加深。
<button class="xxd-btn" data-xxd-popover="p1">这是什么?</button>
<div class="xxd-popover" id="p1" popover>主色会被自动提亮或加深。</div>export function PopoverDemo() {
return (
<Popover.Root>
<Popover.Trigger render={<Button />}>这是什么?</Popover.Trigger>
<Popover.Portal>
<Popover.Positioner>
<Popover.Popup>
<Popover.Arrow />
<Popover.Title>主色</Popover.Title>
<Popover.Description>会被自动提亮或加深,保证在亮暗两种纸上都看得清。</Popover.Description>
</Popover.Popup>
</Popover.Positioner>
</Popover.Portal>
</Popover.Root>
);
}属性与类名
| 属性 / 类名 | 说明 |
|---|---|
| data-arrow | 带小箭头(跟随锚点) |
| data-placement | top | bottom | *-start | *-end |
| 类名 | xxd-popover xxd-surface-float xxd-popover__title xxd-popover__text xxd-popover__close |
键盘与读屏
- 原生 popover:点外面或 Esc 关闭,触发按钮 aria-expanded 同步
- 里面有可交互的东西时,打开后焦点移进去;Esc 关闭后焦点回到触发按钮