该项目使用Vue制作,组件代码如下:
<template>
<div class="card card-body text-center m-3" style="max-width: 500px;">
<h3 class="d-inline m-3">{{this.task.title}}</h3>
<h4 class="d-inline mr-3">Due by {{this.task.deadline.toDateString()}}</h4>
<h4 class="mr-3" :class="{'text-danger': this.task.deadline.getTime() < new Date().getTime(),
'text-success': completedTaskPercentage == 100}">{{completedTaskPercentage}}% complete</h4>
<div class="progress m-3">
<div class="progress-bar" :class="{'bg-danger': this.task.deadline.getTime() < new Date().getTime(),
'bg-success': completedTaskPercentage == 100}" role="progressbar" :style="{width: completedTaskPercentage + '%'}">
</div>
</div>
<button class="btn btn-primary btn-inline m-3" data-bs-toggle="collapse" v-bind:data-bs-target="'#_'+task.id">Toggle
subtasks</button>
<div class="collapse" v-bind:id="'_'+task.id">
<div class="card card-body text-start m-3 text-light"
:class="{'bg-success':subtask.finished, 'bg-danger':!subtask.finished}" v-for="subtask in this.task.subtasks">
<h4>{{subtask.title}}</h4>
</div>
</div>
</div>
</template>
现在,折叠按钮按预期打开正确的元素,但它也增加了我不想要的其他卡片的大小(见图片)。
已开卡:
折叠的卡片:
1条答案
按热度按时间amrnrhlw1#
解决方案取决于集成这些模板的外部容器和您正在使用的Bootstrap版本。
Bootstrap 5:根据您的描述和代码,我猜您正在将它们集成到一个简单的
.row
中,例如:如果是这种情况,您只需将
.h-100
add到.card
-元素中即可,如下例所示:通常,您可以在这些
.cards
周围 Package 一个.col
,您想要的行为将自动完成,例如:如果您使用的是Bootstrap 4.x,请移除父系中的
.card-group
类别。