Card 卡片

将信息聚合在卡片容器中展示。

基础用法

卡片包含标题,内容以及操作区域。

Card 组件由 headerbody 组成。 header 是可选的,其内容取决于一个具名的 slot。

Card 卡片 - 图1

  1. <template>
  2. <el-card class="box-card">
  3. <template #header>
  4. <div class="card-header">
  5. <span>Card name</span>
  6. <el-button class="button" text>Operation button</el-button>
  7. </div>
  8. </template>
  9. <div v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</div>
  10. </el-card>
  11. </template>
  12. <style>
  13. .card-header {
  14. display: flex;
  15. justify-content: space-between;
  16. align-items: center;
  17. }
  18. .text {
  19. font-size: 14px;
  20. }
  21. .item {
  22. margin-bottom: 18px;
  23. }
  24. .box-card {
  25. width: 480px;
  26. }
  27. </style>

简单卡片

卡片可以只有内容区域。

Card 卡片 - 图2

  1. <template>
  2. <el-card class="box-card">
  3. <div v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</div>
  4. </el-card>
  5. </template>
  6. <style scoped>
  7. .text {
  8. font-size: 14px;
  9. }
  10. .item {
  11. padding: 18px 0;
  12. }
  13. .box-card {
  14. width: 480px;
  15. }
  16. </style>

有图片内容的卡片

可配置定义更丰富的内容展示。

配置body-style属性来自定义body部分的样式。 在这个例子中我们还使用了 el-col 组件来布局。

Card 卡片 - 图3

  1. <template>
  2. <el-row>
  3. <el-col
  4. v-for="(o, index) in 2"
  5. :key="o"
  6. :span="8"
  7. :offset="index > 0 ? 2 : 0"
  8. >
  9. <el-card :body-style="{ padding: '0px' }">
  10. <img
  11. src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png"
  12. class="image"
  13. />
  14. <div style="padding: 14px">
  15. <span>Yummy hamburger</span>
  16. <div class="bottom">
  17. <time class="time">{{ currentDate }}</time>
  18. <el-button text class="button">Operating</el-button>
  19. </div>
  20. </div>
  21. </el-card>
  22. </el-col>
  23. </el-row>
  24. </template>
  25. <script lang="ts" setup>
  26. import { ref } from 'vue'
  27. const currentDate = ref(new Date())
  28. </script>
  29. <style>
  30. .time {
  31. font-size: 12px;
  32. color: #999;
  33. }
  34. .bottom {
  35. margin-top: 13px;
  36. line-height: 12px;
  37. display: flex;
  38. justify-content: space-between;
  39. align-items: center;
  40. }
  41. .button {
  42. padding: 0;
  43. min-height: auto;
  44. }
  45. .image {
  46. width: 100%;
  47. display: block;
  48. }
  49. </style>

带有阴影效果的卡片

你可以定义什么时候展示卡片的阴影效果。

通过 shadow 属性设置卡片阴影出现的时机。 该属性的值可以是:alwayshovernever

Card 卡片 - 图4

  1. <template>
  2. <el-row :gutter="12">
  3. <el-col :span="8">
  4. <el-card shadow="always"> Always </el-card>
  5. </el-col>
  6. <el-col :span="8">
  7. <el-card shadow="hover"> Hover </el-card>
  8. </el-col>
  9. <el-col :span="8">
  10. <el-card shadow="never"> Never </el-card>
  11. </el-col>
  12. </el-row>
  13. </template>

属性

属性说明类型可选值默认值
header卡片的标题 你既可以通过设置 header 来修改标题,也可以通过 slot#header 传入 DOM 节点string
body-stylebody 的样式object{ padding: ‘20px’ }
shadow设置阴影显示时机stringalways / hover / neveralways

插槽

插槽名说明
自定义默认内容
header卡片标题内容

源代码

组件 Card 卡片 - 图5 文档 Card 卡片 - 图6

贡献者

Card 卡片 - 图7 三咲智子

Card 卡片 - 图8 云游君

Card 卡片 - 图9 jeremywu

Card 卡片 - 图10 류한경

Card 卡片 - 图11 Delyan Haralanov

Card 卡片 - 图12 bqy

Card 卡片 - 图13 SongWuKong

Card 卡片 - 图14 Hades-li

Card 卡片 - 图15 C.Y.Kun

Card 卡片 - 图16 Leon-kfd

Card 卡片 - 图17 ntnyq

Card 卡片 - 图18 qiang