Skip to content

Card

用于分组相关内容的容器组件,支持多种变体和暗黑模式。

导入

tsx
import { Card } from '@xcloud/ui-core'

示例

基础用法

Card 组件由多个子组件组成,提供灵活的内容组织方式:

tsx
import { Card } from '@xcloud/ui-core'

function Example() {
  return (
    <Card.Root>
      <Card.Header>
        <Card.Title>卡片标题</Card.Title>
        <Card.Description>卡片描述文本</Card.Description>
      </Card.Header>
      <Card.Content>
        <p>这里是卡片的主要内容。</p>
      </Card.Content>
      <Card.Footer>
        <button>操作按钮</button>
      </Card.Footer>
    </Card.Root>
  )
}

变体

Card 支持三种视觉变体:

tsx
// 默认样式 - 带阴影
<Card.Root variant="default">
  <Card.Content>默认卡片</Card.Content>
</Card.Root>

// 描边样式 - 使用边框
<Card.Root variant="outlined">
  <Card.Content>描边卡片</Card.Content>
</Card.Root>

// 高级样式 - 更明显的阴影
<Card.Root variant="elevated">
  <Card.Content>高级卡片</Card.Content>
</Card.Root>

可悬停效果

使用 hoverable 属性为卡片添加悬停交互效果:

tsx
<Card.Root hoverable onClick={() => console.log('clicked')}>
  <Card.Header>
    <Card.Title>可点击的卡片</Card.Title>
  </Card.Header>
  <Card.Content>
    <p>鼠标悬停查看效果</p>
  </Card.Content>
</Card.Root>

组件 API

Card.Root

卡片容器组件。

属性类型默认值描述
variant'default' | 'outlined' | 'elevated''default'视觉样式变体
hoverablebooleanfalse是否启用悬停效果
classNamestring-附加的 CSS 类

Card.Header

卡片头部容器,通常包含标题和描述。

属性类型默认值描述
classNamestring-附加的 CSS 类

Card.Title

卡片标题组件。

属性类型默认值描述
classNamestring-附加的 CSS 类

Card.Description

卡片描述组件。

属性类型默认值描述
classNamestring-附加的 CSS 类

Card.Content

卡片内容容器。

属性类型默认值描述
classNamestring-附加的 CSS 类

卡片页脚容器,通常包含操作按钮。

属性类型默认值描述
classNamestring-附加的 CSS 类

暗黑模式

Card 组件完全支持暗黑模式,会自动适配主题颜色:

  • 背景色自动切换
  • 边框颜色自动调整
  • 文本颜色自动适配

无需额外配置,只需在应用中启用暗黑模式即可。

基于 MIT 许可发布