Skip to content

Card 卡片

通用卡片容器,承载文字、列表、图片、段落等内容。

基础用法

通过 header 属性设置卡片标题。

卡片标题

卡片内容。这是一些描述文本。

卡片可以承载文字、列表、图片段落等。

基础用法

简洁卡片

可以省略标题,只保留内容区域。

没有标题的简洁卡片。

简洁卡片

带额外操作

使用 #extra 插槽在标题栏右侧添加操作按钮。

卡片标题

带有额外操作的卡片。

带额外操作

阴影效果

通过 shadow 属性控制卡片阴影的显示时机。

总是显示阴影

这个卡片总是显示阴影。

悬浮时显示阴影

这个卡片只在鼠标悬浮时显示阴影。

从不显示阴影

这个卡片从不显示阴影。

阴影效果

悬浮效果

设置 hoverable 属性可以在鼠标悬浮时产生提升效果。

可悬浮卡片

鼠标悬浮时会有提升效果。

悬浮效果

加载状态

设置 loading 属性可以显示骨架屏加载状态。

加载状态

带底部

使用 #footer 插槽添加底部内容。

带底部的卡片

卡片内容区域。

带底部

不同尺寸

通过 size 属性设置卡片尺寸。

小型卡片

小尺寸的卡片。

默认卡片

默认尺寸的卡片。

大型卡片

大尺寸的卡片。

不同尺寸

无边框

设置 borderedfalse 可以去掉边框。

无边框卡片

没有边框的卡片。

无边框

在 Nuxt 中使用

Card 组件完美支持 Nuxt 3/4 环境。由于它主要用于结构化布局,服务端渲染(SSR)可以预先生成完整的 DOM 结构,有利于 SEO 优化和首屏渲染性能。

Nuxt 项目实战

在 Nuxt 中,Card 组件及其内部的所有子组件(如 Button, Tag)均已预置自动导入支持。

SSR ReadyAuto Import
Nuxt 中使用

SSR 注意事项

  • ✅ 标题 (header)、底部 (footer) 和内容区域在服务端完整渲染
  • ✅ 阴影效果 (always/hover/never) 支持 SSR
  • ✅ 骨架屏加载状态 (loading) 在服务端即展示首屏骨架,避免白屏
  • ✅ 尺寸 (size) 和边框 (bordered) 配置通过 CSS 类名在服务端生效
  • 💡 交互逻辑及动态加载状态切换在客户端激活(Hydration)后恢复响应性

SEO 优化

Card 组件生成的 HTML 语义清晰,建议在 header 插槽中使用合适的标题标签(如 h3),以进一步提升搜索引擎对页面内容的理解。

API

Props

属性名说明类型默认值
header卡片标题string
body-style卡片内容区域的样式object
header-style卡片头部的样式object
shadow卡片阴影显示时机'always' | 'hover' | 'never''always'
bordered是否显示边框booleantrue
hoverable是否可悬浮(鼠标悬浮时有提升效果)booleanfalse
size卡片的尺寸'small' | 'default' | 'large''default'
loading是否加载中 (显示骨架屏)booleanfalse
body-padding是否有内边距booleantrue

Slots

插槽名说明
default卡片内容
header卡片标题
extra卡片额外操作区域
footer卡片底部内容

主题变量

变量名说明默认值
--yh-card-bg-color背景颜色var(--yh-bg-color-overlay)
--yh-card-border-color边框颜色var(--yh-border-color-light)
--yh-card-border-radius圆角大小var(--yh-border-radius-base)
--yh-card-header-padding头部内边距18px 20px
--yh-card-body-padding主体内边距20px
--yh-card-footer-padding底部内边距18px 20px
--yh-card-shadow卡片阴影var(--yh-box-shadow-light)

Released under the MIT License.