Skip to content

Card 卡片

内容卡片。三段式结构(头部 / 主体 / 底部),两种视觉变体。

基础用法

卡片标题
卡片主体内容。适合放一段描述、一组表单,或一张图表。
vue
<SrCard title="卡片标题">
  卡片主体内容。
</SrCard>

与 Panel 的分工

两者都是容器,区别在语义与默认外观

SrCardSrPanel
定位独立的实体页面区块
默认变体default(实底)glass(玻璃)
可悬停hoverable
头部分隔线✅ 有❌ 无

一句话:一张卡片是「一个东西」,一个面板是「一块区域」。 卡片内部再放面板是合理的(区域里摆几张卡),反过来则别扭。

头部操作区

extra 插槽放在标题右侧,通常放一个按钮或一段次要信息。

本月数据
主体内容
vue
<SrCard title="本月数据">
  <template #extra>
    <SrButton size="sm" variant="ghost">刷新</SrButton>
  </template>
  主体内容
</SrCard>

底部操作区

确认操作
删除后不可恢复。
vue
<SrCard title="确认操作">
  删除后不可恢复。
  <template #footer>
    <SrSpace justify="end">
      <SrButton size="sm">取消</SrButton>
      <SrButton size="sm" variant="danger">删除</SrButton>
    </SrSpace>
  </template>
</SrCard>

玻璃变体

variant="glass" 使用玻璃配方(半透明底色 + 背景模糊), 适合叠在渐变或图片背景之上。

玻璃卡片
背景内容会透过卡片隐约可见。
vue
<SrCard variant="glass" title="玻璃卡片">
  背景内容会透过卡片隐约可见。
</SrCard>

玻璃变体的适用条件

backdrop-filter 需要背后真的有内容才看得出效果。 叠在纯色背景上时它与实底几乎没有区别,却多付了一次合成开销。

可悬停

hoverable 让卡片在悬停时上浮并加深阴影,用于「整张卡片可点击」的场景。

点我
鼠标移上来看看
vue
<SrCard hoverable title="点我">鼠标移上来看看</SrCard>

悬停反馈包在 @media (hover: hover)——触摸设备上不会出现 「点完样式卡住」的假反馈。

内边距

padding="none",内边距自己控制
大内边距
padding="lg"
vue
<SrCard padding="none">…</SrCard>
<SrCard padding="lg">…</SrCard>

Props

名称类型默认值说明
titlestring标题,也可用 header 插槽自定义
variant'default' | 'glass''default'视觉变体
hoverablebooleanfalse悬停时上浮
borderedbooleantrue是否显示描边
padding'none' | 'sm' | 'md' | 'lg''md'主体区内边距

插槽

名称说明
default主体内容
header自定义头部,覆盖 title
extra头部右侧操作区
footer底部区域

自用组件库 · 源码分发 · 不发布 npm