在vue环境下,如何将两个表格内的元素对齐?
问题
如下所示,如何将框1和框2的元素对齐
具体环境和代码
我是使用ant-design-vue组件, 具体代码如下
html部分:
<a-row class="section" v-if="resolvePurchasePlanList && resolvePurchasePlanList.length > 0"> <div class="detail-item-wrapper" :key="detail.id" v-for="(detail, index) in resolvePurchasePlanList">
<div class="detail-item-left" v-if="!isDetails">
<a-checkbox :checked="isSelectedPchPlanIds(selectedDetailsPchPlanIds, detail)"
@click="() => changeSelectedDetailPurchaseIds(selectedDetailsPchPlanIds, detail)"
></a-checkbox>
</div>
<table class="my-table">
<tr>
<td class="label"><span class="danger-label" v-show="!isDetails">*</span>所属项目</td>
<td colspan="3">
<span v-if="isDetails">
{{ detail.projectName }}
</span>
<a-input :value="detail.projectName" :read-only="true" v-else
:class="{ danger: detail.checkSigns.projectName }"/>
</td>
<td class="label"><span class="danger-label">*</span>采购金额</td>
<td colspan="3" style="text-align: right ">
{{ formatMoney(detail.purchaseMoneySum) }}
</td>
</tr>
<tr>
<td class="label"><span class="danger-label" v-show="!isDetails">*</span>采购内容</td>
<td class="label"><span class="danger-label" v-show="!isDetails">*</span>数量</td>
<td class="label"><span class="danger-label" v-show="!isDetails">*</span>金额</td>
<td class="label">品牌</td>
<td class="label">规格型号</td>
<td class="label">计量单位</td>
<td class="label">单价</td>
</tr>
css部分:
.my-table { flex: 1;
width: 100%;
border-collapse: collapse;
}
.label{
padding: 10px 15px;
height: 40px;
line-height: 40px;
border: #cccccc solid 1px;
border-radius: 5px;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}
回答:
使用colgroup指定一下每列的宽度,示例如下:
<table> <colgroup>
<col style="width: 200px" />
<col style="width: 100px" />
<col style="width: 100px" />
<col style="width: 100px" />
<col style="width: 200px" />
<col style="width: 100px" />
<col style="width: 100px" />
</colgroup>
<!-- 或者使用span属性简写 -->
<colgroup>
<col span="1" style="width: 200px" />
<col span="3" style="width: 100px" />
<col span="1" style="width: 200px" />
<col span="2" style="width: 100px" />
</colgroup>
<tr>
<td>所属项目</td>
<td colspan="3"></td>
<td>采购金额</td>
<td colspan="3"></td>
</tr>
<tr>
<td>采购内容</td>
<td>数量</td>
<td>金额</td>
<td>品牌</td>
<td>规格型号</td>
<td>计量单位</td>
<td>单价</td>
</tr>
</table>
回答:
?为啥不直接用框架完整的 Table 组件
?原生的费事费力,还得一行行写数据绑定
我记得跨行也有相应的配置
表格行/列合并
https://2x.antdv.com/components/table-cn/#Column
以上是 在vue环境下,如何将两个表格内的元素对齐? 的全部内容, 来源链接: utcz.com/p/934949.html