Card 卡片
Card 组件用于展示信息块,通常包含头部、内容和底部三个部分。
基本用法
最基础的卡片包括头部、内容和底部三个部分。可以通过具名插槽来定义各个部分的内容。
卡片名称
卡片内容
卡片内容
卡片内容
<template>
<div class="demo-card">
<hy-card>
<template #header>
<div class="card-header">
<span>卡片名称</span>
</div>
</template>
<div class="card-content">
<p>卡片内容</p>
<p>卡片内容</p>
<p>卡片内容</p>
</div>
<template #footer>
<div class="card-footer">
<el-button>取消</el-button>
<el-button type="primary">确定</el-button>
</div>
</template>
</hy-card>
</div>
</template>
<script setup lang="ts">
// 基本用法展示
</script>
<style scoped>
.demo-card {
padding: 20px;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.card-content p {
margin: 10px 0;
line-height: 1.5;
}
.card-footer {
display: flex;
justify-content: flex-end;
gap: 10px;
}
</style>简洁卡片
不包含头部和底部的简洁卡片。
这是一个简洁的卡片
只包含内容区域
没有头部和底部
<template>
<div class="demo-card-simple">
<hy-card>
<div class="simple-content">
<p>这是一个简洁的卡片</p>
<p>只包含内容区域</p>
<p>没有头部和底部</p>
</div>
</hy-card>
</div>
</template>
<script setup lang="ts">
// 简洁卡片展示
</script>
<style scoped>
.demo-card-simple {
padding: 20px;
}
.simple-content p {
margin: 15px 0;
line-height: 1.6;
color: #666;
}
</style>阴影效果
通过 shadow 属性可以控制卡片的阴影效果。
总是显示阴影
shadow="always"
悬停显示阴影
shadow="hover"
从不显示阴影
shadow="never"
<template>
<div class="demo-card-shadow">
<div class="shadow-demo-row">
<hy-card shadow="always">
<template #header>
<div class="card-header">总是显示阴影</div>
</template>
<div class="card-body">
<p>shadow="always"</p>
</div>
</hy-card>
</div>
<div class="shadow-demo-row">
<hy-card shadow="hover">
<template #header>
<div class="card-header">悬停显示阴影</div>
</template>
<div class="card-body">
<p>shadow="hover"</p>
</div>
</hy-card>
</div>
<div class="shadow-demo-row">
<hy-card shadow="never">
<template #header>
<div class="card-header">从不显示阴影</div>
</template>
<div class="card-body">
<p>shadow="never"</p>
</div>
</hy-card>
</div>
</div>
</template>
<script setup lang="ts">
// 阴影效果展示
</script>
<style scoped>
.demo-card-shadow {
padding: 20px;
display: flex;
flex-direction: column;
gap: 20px;
}
.shadow-demo-row {
width: 300px;
}
.card-header {
font-weight: 500;
color: #333;
}
.card-body p {
margin: 0;
color: #666;
}
</style>Card API
Props
| Name | Description | Type | Default |
|---|---|---|---|
| header | 卡片头部 | string | - |
| footer | 卡片底部 | string | - |
| shadow | 阴影效果 | enum - 'always' | 'hover' | 'never' | always |
Slots
| Name | Description | Sub Component |
|---|---|---|
| default | 内容插槽 | - |
| header | 头部插槽 | - |
| footer | 底部插槽 | - |
Events
| Name | Description | Type |
|---|---|---|
| - | - | - |
Expose
| Name | Description | Type |
|---|---|---|
| - | - | - |