element - ui组件使用card,内容无法完全填充!
页面
通过控制台看到实际渲染会有一层el-card__body
el-card
添加body-style="height: 100%"
echart 图 用x 轴可缩放的
如有帮助给个采纳谢谢
后端给你的数据中是小数点、数组、对象,如何渲染在页面上。
这是效果图,上面是自己用h5渲染的,下面用到element的card
上代码
<template>
<div>
<el-row :gutter="20" style="margin-left: 10px">
<div style="height: 50px">
<ul class="rightTip">
<li class="leftTip">项目进度完成百分比:{{ (workConditon.finishPercentage*100).toFixed(2)+'%' }}</li>
<li class="leftTip">任务总数:{{ workConditon.workTotal }}</li>
<li class="leftTip">已完成:{{ workConditon.finishTotal }}</li>
<li class="leftTip">未完成:{{ workConditon.notFinishTotal }}</li>
</ul>
</div>
<el-col v-for="item in workConditonList" :key="item" :span="8">
<el-card shadow="hover"
class="box-card"
>
<div slot="header" >
<span style="font-size: 18px;color: white">{{ item.stageName}}</span>
</div>
<div class="text item">
<p>{{'工作项共计:' + item.workTotal}}</p>
<p>{{'完成工作:' + item.finishTotal}}</p>
<p>{{'未完成:' + item.notFinishTotal }}</p>
<p>{{'开始时间:' + item.finishTotal}}</p>
<p>{{'结束时间:' + item.notFinishTotal}}</p>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template>
vue部分
<script>
import {getWorkList} from "@/api/project/workSituation";
export default {
name: "WorkSituation",
props: {
projectId: {
type: String,
default: '0'
}
},
data() {
return {
workConditonList: [],
workConditon:{}
}
},
created() {
console.log(this.test, 'created')
},
mounted() {
getWorkList(this.projectId).then(res=>{
this.workConditon = res.data.data.workConditon
console.log(this.workConditon)
this.workConditonList = res.data.data.workConditonList
})
},
methods: {
}
}
</script>
还有一点css
<style scoped>
.text {
font-size: 14px;
color: white;
}
.box-card{
background-color: rgb(27, 201, 142);
height: 250px;
}
.rightTip{
text-align: center;
list-style: none;
margin-left: 10px;
font-size: 18px;
font-weight: bolder;
font-family: '微软雅黑';
margin-bottom: 20px;
}
.leftTip{
float: left;
margin-left: 50px;
margin-bottom: 30px;
}
</style>
问题原因可能是由于默认的样式设置,导致card组件的内容无法完全填充。可以通过自定义样式来解决这个问题。下面是解决方案的具体步骤:
<style>
标签中添加以下代码,将卡片内边距设置为0:.el-card {
padding: 0;
}
<template>
标签中添加一个新的div元素来包裹card组件的内容,并添加自定义类名(例如card-content
):<template>
<el-card>
<div class="card-content">
<!-- card内容 -->
</div>
</el-card>
</template>
.card-content {
height: 100%;
padding: 20px; /* 可根据实际情况调整 */
}
最终代码如下:
<template>
<el-card>
<div class="card-content">
<!-- card内容 -->
</div>
</el-card>
</template>
<script>
export default {
// 组件逻辑
}
</script>
<style>
.el-card {
padding: 0;
}
.card-content {
height: 100%;
padding: 20px; /* 可根据实际情况调整 */
}
</style>
通过这样的方式,您应该能够解决element-ui card组件内容无法完全填充的问题。