Skip to content

Card 卡片

一个功能丰富的卡片组件,支持 3D 倾斜效果、水波动画、阴影和边框等特性。

基础用法

基础的卡片用法,包含标题、内容和底部区域。

基础卡片

这是一个基础的卡片组件,包含标题、内容和底部区域。

3D 倾斜效果

通过 enable3dmaxRotateAngle 属性可以控制 3D 倾斜效果。

启用 3D 效果

3D 倾斜效果

鼠标悬停时卡片会产生 3D 倾斜效果,倾斜角度为 3 度。

移动鼠标到卡片的不同位置,观察倾斜方向的变化。

自定义倾斜角度

小角度倾斜

倾斜角度:1 度

效果较为轻微

中等角度倾斜

倾斜角度:5 度

效果适中

大角度倾斜

倾斜角度:10 度

效果明显

禁用 3D 效果

禁用 3D 效果

这个卡片禁用了 3D 倾斜效果。

鼠标悬停时不会有倾斜动画。

水波动画

点击卡片时会产生水波扩散效果,可以通过 enableRipple 属性控制。

启用水波效果

水波动画

点击卡片任意位置,观察水波扩散效果。

水波会从点击点扩散到卡片的四个角落。

禁用水波效果

禁用水波动画

这个卡片禁用了水波动画效果。

点击卡片时不会有水波扩散。

阴影和边框

通过 shadowbordered 属性可以控制卡片的阴影和边框样式。

带阴影的卡片

带阴影的卡片

这个卡片启用了阴影效果。

悬停时阴影会加深,增强立体感。

无边框卡片

无边框卡片

这个卡片禁用了边框效果。

看起来更加简洁现代。

组合使用

可以同时启用多种效果,创建丰富的交互体验。

完整功能卡片

这个卡片启用了所有功能:

  • 3D 倾斜效果
  • 水波动画
  • 阴影效果
简约风格卡片

这个卡片禁用了所有动画效果:

  • 无 3D 倾斜
  • 无水波动画
  • 无边框

API

Props

参数说明类型默认值
title卡片标题string''
shadow是否显示阴影booleanfalse
bordered是否显示边框booleantrue
enable3d是否启用 3D 倾斜效果booleantrue
maxRotateAngle最大倾斜角度(度)number1.5
enableRipple是否启用水波效果booleantrue

Events

事件名说明回调参数
-暂无事件-

Slots

插槽名说明作用域参数
default卡片的主要内容-
header卡片头部内容-
footer卡片底部内容-

样式特性

3D 倾斜效果

  • 鼠标悬停时卡片会根据鼠标位置产生 3D 倾斜效果
  • 倾斜角度可以通过 maxRotateAngle 属性调整
  • 使用 perspectivetransform 实现真实的 3D 效果
  • 鼠标离开时会有平滑的回弹动画

水波动画

  • 点击卡片时会产生以点击点为中心的水波扩散效果
  • 水波会自动扩散到卡片的四个角落
  • 动画结束后水波元素会自动销毁
  • 支持多次连续点击,每次都会产生独立的水波

视觉设计

  • 多层立体阴影,营造悬浮感
  • 高光渐变边框,增强立体效果
  • 圆角设计,现代简洁
  • 悬停时阴影加深,增强交互反馈

注意事项

  1. 3D 效果使用了 CSS transform 属性,在部分老旧浏览器中可能不支持
  2. 水波动画使用了 CSS animation,确保浏览器支持 @keyframes
  3. 水波效果会自动计算点击点到四个角的最大距离,确保覆盖整个卡片
  4. 组件会智能处理鼠标事件,只有在启用相应功能时才会响应
  5. 所有动画都使用了 cubic-bezier 缓动函数,提供流畅的动画体验
  6. 水波动画结束后会自动清理 DOM 元素,避免内存泄漏

Released under the MIT License.