供有视觉用户预览链接后可用的内容。
import * as React from "react";import { HoverCard } from "radix-ui";import "./styles.css";const HoverCardDemo = () => (<HoverCard.Root><HoverCard.Trigger asChild><a className="ImageTrigger" href="https://twitter.com/radix_ui" target="_blank" rel="noreferrer noopener" ><img className="Image normal" src="https://pbs.twimg.com/profile_images/1337055608613253126/r_eiMp2H_400x400.png" alt="Radix UI" /></a></HoverCard.Trigger><HoverCard.Portal><HoverCard.Content className="HoverCardContent" sideOffset={5}><div style={{ display: "flex", flexDirection: "column", gap: 7 }}><img className="Image large" src="https://pbs.twimg.com/profile_images/1337055608613253126/r_eiMp2H_400x400.png" alt="Radix UI" /><div style={{ display: "flex", flexDirection: "column", gap: 15 }}><div><div className="Text bold">Radix</div><div className="Text faded">@radix_ui</div></div><div className="Text">Components, icons, colors, and templates for buildinghigh-quality, accessible UI. Free and open-source.</div><div style={{ display: "flex", gap: 15 }}><div style={{ display: "flex", gap: 5 }}><div className="Text bold">0</div>{" "}<div className="Text faded">Following</div></div><div style={{ display: "flex", gap: 5 }}><div className="Text bold">2,900</div>{" "}<div className="Text faded">Followers</div></div></div></div></div><HoverCard.Arrow className="HoverCardArrow" /></HoverCard.Content></HoverCard.Portal></HoverCard.Root>);export default HoverCardDemo;
可控制或非控制。
自定义侧边、对齐、偏移、碰撞处理。
可选渲染指向箭头。
支持自定义打开和关闭延迟。
屏幕阅读器忽略。
从命令行安装组件。
导入所有部分并将它们组合在一起。
包含悬停卡片的所有部分。
悬停时打开悬停卡片的链接。
使用时,将内容部分传送到 body
中。
悬停卡片打开时弹出的组件。
一个可选的箭头元素,与悬停卡片一起渲染。这可以用来帮助视觉上将触发器与 HoverCard.Content
链接起来。必须在 HoverCard.Content
内部渲染。
使用 openDelay
prop 来控制悬停卡片打开所需的时间。
您可能想要约束内容的宽度,使其与触发器宽度匹配。您可能还想约束其高度,使其不超过视口。
我们公开了几个 CSS 自定义属性,例如 --radix-hover-card-trigger-width
和 --radix-hover-card-content-available-height
以支持这一点。使用它们来约束内容尺寸。
我们公开了一个 CSS 自定义属性 --radix-hover-card-content-transform-origin
。使用它来根据 side
、sideOffset
、align
、alignOffset
和任何碰撞,从其计算的源点动画内容。
我们公开了 data-side
和 data-align
属性。它们的值将在运行时更改以反映碰撞。使用它们来创建碰撞和方向感知的动画。
悬停卡片仅供有视觉用户使用,键盘用户将无法访问内容。