#卡片 Card
通用卡片容器。
#组件特性
- 🎨 多种变体:支持
default、outline、filled视觉变体。 - 📏 多种尺寸:支持
sm、md、lg尺寸规格。 - 🔲 多种形状:支持
rounded、square、circle形状。 - 📦 阴影样式:支持
none、sm、base、md、lg、xl阴影样式。 - ✋ 交互状态:支持悬停、激活和选中状态。
- 🎨 主题定制:基于
BrConfigProvider支持全局主题配置和 TailwindCSS 局部覆盖。
#基础用法
<script setup lang="ts">
import {
BrCard,
BrCardHeader,
BrCardTitle,
BrCardDescription,
BrCardContent,
BrCardFooter,
BrButton,
BrInput,
BrLabel
} from '@breeze-ui/vue'
</script>
<template>
<BrCard class="w-[350px]">
<BrCardHeader>
<BrCardTitle>Create project</BrCardTitle>
<BrCardDescription>Deploy your new project in one-click.</BrCardDescription>
</BrCardHeader>
<BrCardContent>
<form>
<div class="grid w-full items-center gap-4">
<div class="flex flex-col space-y-1.5">
<BrLabel html-for="name">Name</BrLabel>
<BrInput id="name" placeholder="Name of your project" />
</div>
</div>
</form>
</BrCardContent>
<BrCardFooter class="flex justify-between">
<BrButton variant="outline">Cancel</BrButton>
<BrButton>Deploy</BrButton>
</BrCardFooter>
</BrCard>
</template>#样式变体
variant 属性控制卡片的样式风格。
<script setup lang="ts">
import { BrCard, BrCardContent, BrCardHeader, BrCardTitle } from '@breeze-ui/vue'
</script>
<template>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<BrCard>
<BrCardHeader>
<BrCardTitle>Default</BrCardTitle>
</BrCardHeader>
<BrCardContent>
Standard card with border and shadow.
</BrCardContent>
</BrCard>
<BrCard variant="outline">
<BrCardHeader>
<BrCardTitle>Outline</BrCardTitle>
</BrCardHeader>
<BrCardContent>
Card with a thicker border and no shadow.
</BrCardContent>
</BrCard>
<BrCard variant="ghost">
<BrCardHeader>
<BrCardTitle>Ghost</BrCardTitle>
</BrCardHeader>
<BrCardContent>
Card with no border and no shadow.
</BrCardContent>
</BrCard>
<BrCard variant="secondary">
<BrCardHeader>
<BrCardTitle>Secondary</BrCardTitle>
</BrCardHeader>
<BrCardContent>
Card with secondary background color.
</BrCardContent>
</BrCard>
</div>
</template>#尺寸
size 属性控制卡片的内边距和字体大小。
<script setup lang="ts">
import { BrCard, BrCardContent, BrCardHeader, BrCardTitle } from '@breeze-ui/vue'
</script>
<template>
<div class="flex flex-col gap-4">
<BrCard size="xs" class="w-full max-w-sm">
<BrCardHeader>
<BrCardTitle>Size: XS</BrCardTitle>
</BrCardHeader>
<BrCardContent>Extra small padding and text size.</BrCardContent>
</BrCard>
<BrCard size="sm" class="w-full max-w-sm">
<BrCardHeader>
<BrCardTitle>Size: SM</BrCardTitle>
</BrCardHeader>
<BrCardContent>Small padding and text size.</BrCardContent>
</BrCard>
<BrCard size="md" class="w-full max-w-sm">
<BrCardHeader>
<BrCardTitle>Size: MD (Default)</BrCardTitle>
</BrCardHeader>
<BrCardContent>Medium padding and text size.</BrCardContent>
</BrCard>
<BrCard size="lg" class="w-full max-w-sm">
<BrCardHeader>
<BrCardTitle>Size: LG</BrCardTitle>
</BrCardHeader>
<BrCardContent>Large padding and text size.</BrCardContent>
</BrCard>
<BrCard size="xl" class="w-full max-w-sm">
<BrCardHeader>
<BrCardTitle>Size: XL</BrCardTitle>
</BrCardHeader>
<BrCardContent>Extra large padding and text size.</BrCardContent>
</BrCard>
<BrCard size="2xl" class="w-full max-w-sm">
<BrCardHeader>
<BrCardTitle>Size: 2XL</BrCardTitle>
</BrCardHeader>
<BrCardContent>2X large padding and text size.</BrCardContent>
</BrCard>
</div>
</template>#交互状态
卡片支持悬停、点击和加载状态。
<script setup lang="ts">
import { BrCard, BrCardContent } from '@breeze-ui/vue'
</script>
<template>
<div class="flex gap-4 flex-wrap">
<BrCard hoverable class="w-[200px] cursor-pointer">
<BrCardContent class="flex items-center justify-center h-[100px]">
Hoverable Card
</BrCardContent>
</BrCard>
<BrCard clickable class="w-[200px]">
<BrCardContent class="flex items-center justify-center h-[100px]">
Clickable Card
</BrCardContent>
</BrCard>
<BrCard loading class="w-[200px]">
<BrCardContent class="flex items-center justify-center h-[100px]">
Loading Card
</BrCardContent>
</BrCard>
</div>
</template>#API
#BrCard
#Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| as | string | 'div' | 渲染的 HTML 标签或组件。 |
| size | string | 'default' | 尺寸变体:xs, sm, md, lg, xl, 2xl。 |
| shape | string | 'rounded' | 形状变体:rounded, square, circle。 |
| shadow | string | 'sm' | 阴影变体:none, sm, md, lg。 |
| variant | string | 'default' | 样式变体:default, outline, ghost, secondary。 |
| hoverable | boolean | false | 是否开启悬停效果。 |
| clickable | boolean | false | 是否开启点击效果。 |
| loading | boolean | false | 是否处于加载状态。 |
| disabled | boolean | false | 是否禁用。 |
#BrCardHeader
#Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| as | string | 'div' | 渲染的 HTML 标签或组件。 |
#BrCardTitle
#Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| as | string | 'h3' | 渲染的 HTML 标签或组件。 |
#BrCardDescription
#Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| as | string | 'p' | 渲染的 HTML 标签或组件。 |
#BrCardContent
#Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| as | string | 'div' | 渲染的 HTML 标签或组件。 |
#BrCardFooter
#Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| as | string | 'div' | 渲染的 HTML 标签或组件。 |